Git Product home page Git Product logo

all-in-github's Introduction

Hello World 6

all-in-github's People

Contributors

byodian avatar github-actions[bot] avatar

Stargazers

 avatar  avatar

Watchers

 avatar

all-in-github's Issues

Github Automation with octokit

https://www.learnwithjason.dev/github-automation-with-octokit | GitHub Automation with Octokit
https://docs.github.com/en/rest/repos?apiVersion=2022-11-28 | Repositories - GitHub Docs
https://github.com/octokit/plugin-create-or-update-text-file.js/blob/main/package.json | plugin-create-or-update-text-file.js/package.json at main · octokit/plugin-create-or-update-text-file.js
https://developer.mozilla.org/en-US/docs/Glossary/Base64 | Base64 - MDN Web Docs Glossary: Definitions of Web-related terms | MDN
https://docs.netlify.com/cli/get-started/ | Get started with Netlify CLI | Netlify Docs
https://www.netlify.com/products/functions/?utm_campaign=devex-jl&utm_source=blog&utm_medium=css-tricks&utm_content=serverless-frontend-productivity | Netlify Functions
https://developer.mozilla.org/en-US/docs/Web/API/btoa | btoa() - Web APIs | MDN
https://github.com/gr2m/helpdesk/blob/main/update-show-sections-in-readmes.js | helpdesk/update-show-sections-in-readmes.js at main · gr2m/helpdesk
https://github.com/gr2m/boop-gregors-nose/blob/main/cli.js | boop-gregors-nose/cli.js at main · gr2m/boop-gregors-nose
https://github.com/vercel/ncc | vercel/ncc: Compile a Node.js project into a single file. Supports TypeScript, binary addons, dynamic requires.
https://github.com/rollup/rollup | rollup/rollup: Next-generation ES module bundler
https://github.com/octokit/octokit.js | octokit/octokit.js: The all-batteries-included GitHub SDK for Browsers, Node.js, and Deno.

后台管理系统

https://juejin.cn/post/6844904186534952967 | 后台管理系统--前端解决思路 - 掘金
https://juejin.cn/post/7024516871634288654 | vue后台管理系统权限分配的解决方案-RBAC模型 - 掘金
https://juejin.cn/post/7181256996443095099 | 如何做好一款管理后台框架 - 掘金
http://vue.easydo.work/ | VUE后台管理系统模板
https://hooray.gitee.io/fantastic-admin/ | Fantastic-admin | 一款 Vue 中后台管理系统框架
https://github.com/hooray/fantastic-admin | fantastic-admin/src/layouts/components/Header at master · hooray/fantastic-admin · GitHub
https://github.com/pure-admin/pure-admin-thin | pure-admin-thin/vertical.vue at i18n · pure-admin/pure-admin-thin · GitHub
https://github.com/antfu/vitesse/blob/main/src/layouts/home.vue | vitesse/home.vue at main · antfu/vitesse · GitHub
https://github.com/element-plus/element-plus-webpack4-starter | element-plus/element-plus-webpack4-starter: 🌰 A starter kit for Element Plus with Webpack 4.
https://github.com/element-plus/element-plus-webpack5-starter | element-plus/element-plus-webpack5-starter: 🌰 A starter kit for Element Plus with Webpack 5.
https://github.com/element-plus/unplugin-element-plus/tree/main/examples/vite | unplugin-element-plus/examples/vite at main · element-plus/unplugin-element-plus · GitHub
https://github.com/element-plus/element-plus-vite-starter | element-plus/element-plus-vite-starter: 🌰 A starter kit for Element Plus with Vite
https://yiming_chang.gitee.io/pure-admin-doc/ | Pure Admin 保姆级文档

TypeScript

https://github.com/byodian/express-typescript-boilerplate/blob/main/tsconfig.json | express-typescript-boilerplate/tsconfig.json at main · byodian/express-typescript-boilerplate
https://github.com/n8n-io/n8n/blob/master/packages/workflow/tsconfig.json | n8n/tsconfig.json at master · n8n-io/n8n · GitHub
https://www.typescriptlang.org/tsconfig#module | TypeScript: TSConfig Reference - Docs on every TSConfig option
https://nodejs.dev/en/learn/nodejs-with-typescript/ | Node.js with TypeScript
https://www.typescriptlang.org/tsconfig#moduleResolution | TypeScript: TSConfig Reference - Docs on every TSConfig option
https://stackoverflow.com/questions/45194598/using-process-env-in-typescript | node.js - using process.env in TypeScript - Stack Overflow

Shortcuts - 快捷指令

https://support.apple.com/en-hk/guide/shortcuts/welcome/6.0/ios | Shortcuts User Guide - Apple Support (HK)
https://support.apple.com/zh-cn/guide/shortcuts/apdf22b0444c/6.0/ios/16.0 | iPhone 和 iPad 上的快捷指令介绍 - 官方 Apple 支持 (**)
https://support.apple.com/zh-cn/guide/shortcuts/apdb5506f698/6.0/ios/16.0 | iPhone 或 iPad 上“快捷指令”中的变量介绍 - 官方 Apple 支持 (**)
https://apps.apple.com/cn/story/id1583073719 | 《快捷指令,助你事半功倍》:App Store 故事

shell101

Shell 脚本基础的概念是一系列命令的列表,列表中的命令按照顺序执行。结构良好的 Shell 脚本还应该有注释(使用前置符号 # )描述步骤。

Shell 脚本文件扩展以 .sh 结尾,文件开头使用 shebang 构造提示系统一个 shell 脚本将要开始。

#!/bin/bash 

Shell 毕竟是一门真正的编程语言,所以 Shell 脚本应该由变量、控制结构等完成。但不论 shell 脚本如何复杂,它都是一系列按照顺序执行的命令集合。

The shell is, after all, a real programming language, complete with variables, control structures, and so forth. No matter how complicated a script gets, it is still just a list of commands executed sequentially.

可以在执行命令的同时向程序传递参数:

bashuser:~$ echo hello
hello

执行步骤

  1. Shell 基于空格分割命令并进行解析;
  2. 执行第一个单词代表的程序,后续单词作为参数传递给程序;

也就是说,个参数中如果存在空格会被当做多个参数处理,使用以下任意一种方式可以使用带空格参数:

  • 使用单引号包裹
  • 使用双引号包裹
  • 使用 \ 转义

Shell 如何寻找 dateecho 等命令?

类似与 Python 或 Ruby,Shell 是一个编程环境,它具备变量、条件、循环或函数。

当执行命令时,实际上我们是在执行一段 shell 可以解释执行的简短代码。在 shell 中执行某条指令,它会咨询环境变量 $PATH ,并列出进行程序搜索的路径:

bashuser:~$ ehco $PATH
/home/bashuser/.local/bin:/home/bashuser/.nvm/versions/node/v12.18.4/bin
bashuser:~$ which echo
/usr/bin/echo
bashuser:~$ /bin/echo hello
hello

$PATH 中搜索由: 所分割的一系列目录,基于名字搜索该程序。找到就执行该程序。

确定某个指令名所代表的程序,可以使用 which 命令。

导航

shell 中的路径是一组被分割的目录,在 Linux 系统中使用 / 分割,Windows 中用 \ 分割。

绝对路径以 / 开头,相对路径是指相对于当前工作目录的路径。

配置 Shell 提示符

显示各种有用的信息

Shell 程序中的流概念

数据流重定向(redirect),将数据传到给其他地方。在 Shell 中,程序有两个主要的流:输入流和输出流。

  • standart input - STDIN:代码为 0,使用 <<<
  • standard output - STDOUT:代码为 1,使用 > (替换)或 >> (追加)
  • standard error output - STDERR:代码为 2,使用 2> (替换)或 2>> (追加)

数据流重定向的作用

  • 屏幕输出信息很重要,需要保存下来
  • 背景执行的程序,不希望它干扰屏幕正常的输出结果
  • 一些系统例行命令的执行结果,希望它可以保存下来
  • 已知的错误信息,使用 2> /dev/null 丢弃
  • 错误信息与正确信息分别输出

将 stdout 与 stderr 分别存到不同的文件夹

find /home -name .bashrc > list_right 2> list_error

以上两个文件的建立方式

  • 该文件若不存在,系统会自动地将它建立起来
  • 当这个文件存在的时候,那么系统就会将这个文件内容清空,然后再将数据写入
  • 若以 > 输出到已存在的文件中,这个文件就会被覆盖掉

dev/null 垃圾桶设备与特殊写法

如果我知道错误讯息会发生,所以要将错误讯息忽略掉而不显示或储存呢?/dev/null 可以吃掉任何导向这个设备的信息喔

find /home -name .bashrc 2> /dev/null

将正确与错误数据通通写入同一个文件

find /home -name .bashrc > list 2>&1 list
find /home -name .bashrc &> list

standard input

< 将原本需要由键盘输入的数据,改由文件内容来取代

cat > catfile < ~/.bashrc 

<< 表示结束的输入字符,举例我们要用 cat 直接将输入的信息输出到 catfile 中,且当键盘输入 eof 时,该输入就会结束,此时与 > 做对比, < 输入需要使用快捷键 crtl + d 结束输入。

$ cat > catfile << "eof"
> This is a good idea
> Hello world
> eof
$ cat catfile
This is a good idea
Hello world

命令执行的判断依据

; 连续执行

$? (指令回传值) 与 &&||

指令执行结果正确,回传一个 $? = 0

指令执行结果错误,回传一个 $? ≠ 0

命令是一个一个执行,command1 && command2 || command3

管道命令

管道命令仅能处理经由前面一个命令传来的正确信息,也就是标准输出的信息,对于标准错误并没有直接处理的能力。

command1 | command2 | command3

在每个管道命令后面接的第一个数据必定是命令,而这个命令必须要能够接受标准输入的数据才行,这样的命令才可以是管道命令。例如,less、head、tail、more 等都是可以接受 STDOUT,而 ls、cp、mv 则不是

#!/bin/sh

#!/bin/sh
curl --head -=silent https://missing.csail.mit.edu

# 在 shell 中代表注释,而 ! 具有特殊的含义。

References

Atomic Design

https://bradfrost.com/blog/post/atomic-web-design/#atoms | Atomic Design | Brad Frost
https://atomicdesign.bradfrost.com/chapter-1/ | Designing Systems | Atomic Design by Brad Frost
https://24ways.org/2012/design-systems/#author | Design Systems ◆ 24 ways
https://laurakalbag.com/ | Laura Kalbag
https://patternlab.io/resources/ | Resources - Pattern Lab
https://demo.patternlab.io/?p=all | Pattern Lab - all
https://github.com/pattern-lab/patternlab-node | pattern-lab/patternlab-node: The Node version of Pattern Lab
https://shop.smashingmagazine.com/products/smashing-book-3-digital-edition | Smashing Book #3 + #3⅓ (2 eBooks) – Smashing Shop
http://malarkey.github.io/Rock-Hammer/ | Rock Hammer
http://v3.danielmall.com/articles/rif-element-collages/ | “Reading Is Fundamental Element Collages,” an article by Dan Mall
https://www.slideshare.net/bradfrostweb/atomic-design | Atomic design

vim101

普通模式

复制

  • y
  • dd
  • gU
  • gu
  • x
  • X

缩进

> , <=

  • 4== indent current line and next 3
  • =ap indent around paragraph
  • =% indent to end of method

重复操作

  • . 小数点可以重复上一次的命令
  • N<command> 重复某个命令 N 次

移动

  • % 匹配括号移动,包括[ { ( ,需要将光标移动到括号上。
  • #* 匹配光标所在单词,* 下一个, # 上一个
  • 0 行头
  • ^ 本行的第一个非空白字符
  • $ 到行尾
  • g_ 到本行最后一个非空白字符
  • fa 向前移动到查找的第一个 a 字符
  • t, 移动到逗号前的第一个字符
  • 3fa 当前行查找第三个出现的字母 a
  • dt" 删除查找到的第一个双引号之前的所有的内容
  • w 下一个单词到开头
  • e 下一个单词的结尾

单词默认由字母、数字和下划线组成(程序变量),而使用大写 WE 的移动方式,单词由空白字符分隔。

action + text object

action

  • d delete
  • y yank
  • v visual
  • c delete and insert
  • s same as cl
  • S same as cc

text object

  • w word
  • s sentence
  • p paragraph
  • ' " } ] ) specific characters

字符串(map (+) ("foo")),光标在第一个 o 的位置

  • vi" select foo
  • va" select “foo”
  • vi) select "foo"
  • va) select ("foo")
  • v2i) select map (+) ("foo")
  • v2a) select (map (+) ("foo")

Scrolling relative to cursor

  • :help scrolling
  • zt - reposition viewport so your current line is at the top
  • zz - middle
  • zb - bottom
  • <c-y>
  • <c-e>
  • <c-u>
  • <c-d>
  • <c-f>
  • <c-b>

缓存

当使用 vim 编辑器时,vim 会在被编辑的文件目录下,建立一个名为 .filename.swap 的文件

buffers

Summary:
- A buffer is the in-memory text of a file.
- A window is a viewport on a buffer.
    - A tab page is a collection of windows.
  • :ls 查看缓冲区被打开的文件,%a 表示当前文件,相关标记如下:
  • - 非活动的缓冲区
  • a 当前被激活缓冲区
  • h 隐藏的缓冲区
  • % 当前的缓冲区
  • # 交换缓冲区
  • = 只读缓冲区
  • + 已经更改的缓冲区
  • :buffer [数字编号] 切换文件

同 buffer

  • :n 编辑下一个文件
  • :N 编辑上一个文件
  • :files 列出目前这个 vim 开启的所有文件,同 :ls
  • :n and :Ndoesn't switch between buffers

不同 buffers

  • :bn 编辑下一个文件(:bnext)
  • :bp 编辑上一个文件(:bprevious)
  • :blast 缩写 :bl
  • :bfirst 缩写 :bf

删除 buffer

  • :%bd - delete all your buffers
  • :bd or :.bd delete the current buffer
  • :.,+2bd delete the current buffer and 2 buffers after it (relative to their location in the buffer list)

多窗口

  • :sp {filename} 划分窗口,并打开指定文件
  • :Hexplorer 缩写 :He (在下边分屏浏览目录)
  • :He! (在上屏浏览文件目录)
  • :Vexplorer 缩写:Ve (在左边分屏间浏览目录,右边为 :Ve!)
  • :Texplorer 缩写 :Te 使用类似于浏览器 tab 标签的形式打开文件

窗口间移动

  • <crtl-w>j 光标移动到下方的窗口
  • <ctrl-w>k 光标移动到上方的窗口
  • <ctrl-w>q 退出窗口
  • <ctrl-w>t 窗口在新标签页中打开

标签页间移动

在普通模式下,使用快捷键 <ctrl-w>t,可以将一个 buffer 文件在另一个标签页中打开。

  • gt - 下一个标签
  • gT - 前一个标签
  • {i}gt - i 数字,到指定标签页,比如 5gt 就是到第5个标签页
  • :tabs 查看打开的窗口和 Tab 标签的情况
  • :tabn go to next tab
  • :tabp go to previous tab
  • :tabfirst go to first tab
  • :tablast go to last tab
  • :tabclose[i] 指定标签数字,可以关闭指定标签页
  • :bufdo tab split 把 buffer 中的文件全部转成 tab
  • vim -p file1 file2 shell 命令行中以 tab 标签页的形式打开多个文件

会话 session

使用命令 :mksession ~/.mysession.vim ( :mks is ok) 保存已经打开的多窗口文件。 如果文件重复,vim 默认会报错,使用 :mksession! ~/.mysession.vim 代替。打开保存的会话

vim -S ~/.mysession.vim

Quickfix

what a quick fix list is effectively what a quick fix list is a series of entries in which point to a specific file and location.

A lot of times they’re associated with errors links or search results.

  • quickfix
  • location-list

quickfix

  • :cw 错误信息分屏显示
  • :cp 跳到上一个错误
  • :cl 列出所有错误
  • :cc 显示错误详细信息
  • :cdo

location-list

:ldo

Power of g

:h g

  • gQ
  • g0
  • g$
  • g <ctrl-g>
  • g#
  • g&
  • g-
  • g+
  • g??
  • gI
  • gU
  • gt
  • gT
  • g_
  • gf
  • gd
  • gg

The global command :g is very useful - multiple repeats

:[range]g[lobal]/{pattern}/[cmd]

Example:

:normal! !

  • :g/pattern/d – Remove lines matching pattern
  • :3,4g/pattern/d – Remove lines matching pattern between 3 and 4 line
  • :g/pattern/y A - Yank all lines matching ‘pattern’ into the register.
  • :g!/pattern/d – Remove lines that do NOT match the pattern
  • :v/pattern/d – Also removes lines that do not match the pattern
  • :cdo g/function/norm! ciw func<cr>

Replace

:%s/https\?.*/[&](&)/g
  • % – set the range to the entire file
  • s – substitution
  • /https\?.*/ – regex to match http or https and anything else after it
  • [&](&)– The & is the magic here and inserts the matched text. In this case, the URL. The rest of the characters are interpreted literally, giving us the linked URL in the resulting markdown.
  • /g changes all the matches on a line
  • use any regex delimiter in your pattern substitution. No need to use / at all, try # instead: :s#/usr/local/bin#/usr/sbin#g to avoid escaping slashes.
  • Limit a search and replace operation between lines matching 2 regex patterns using /pattern1/,/pattern2/s/search/replace/

Search and replace | Vim Tips Wiki | Fandom

Repeat the last substitution

Developing efficient workflows in Vim is all about repetition, first and foremost by using . to repeat the last command. But Vim can also repeat your last substitution. Here’s a few options with subtle differences:

  • :& – Repeats last substitution but resets the flags. Also works with just :s.
  • :&& – Repeat last substitution with the same flags.
  • :%& – Repeat last substitution on entire file, reset flags.
  • :%&& – Repeat last substitution on entire file, keep flags.
:%s/something/newthing/g
:%&g

Search

  • Append /e to the end of a search to place the cursor at the end of the next match. I.e /search phrase/e
  • Stay in search mode /some-pattern<C-g> or /some-pattern<C-t>

vim 的环境配置和记录

.viminfo 主动记录你曾经做过的操作记录,以便你下次可以轻松地作业。

环境配置

  1. 在一般模式下输入 :set all 查看所有的参数设置值。
  2. :set 显示与系统默认值不同的设置参数,一般来说就是自定变动过的设置参数。
  3. :syntax on 打开语法高亮

DOS 与 Linux 的换行符

字符转换命令

  • dos2unix [-kn] file [newfile]
  • unix2dos [-kn] file [newfile]

registers

To find out what’s stored in each register, simply use Vim’s :registers command, or :reg for short.

Marks

Use m{capital letter} to make a global mark. Close and reopen VIm, and press '{capital letter} to open the file w/ the global mark.

args

  • :args /path/*
  • :wn

https://vimtricks.com/p/vimtrick-edit-files-sequentially/ - Edit files sequentially

Tips

Copying and pasting lines

  • The slow way is to navigate to the line I want, yank it, go back and paste it.

  • The most efficient way I can think to do that is to jump by searching with / and pressing <CR>. Then yank the line with yy. Then use the jump list, <ctrl-o>, to bounce back. And press p to paste the line below or P to paste the line above.

  • Use the ex :yank command :<line number>yank – copies the line number specified to your default register.

  • Use the ex :copy command :<line number>copy. – copies the line number specified and pastes it to the line below

  • The ex :copy command has a short version t

    • :281t. – Copy line 281 and paste it below the current line
    • :-10t. – Copy the line 10 lines above the current line and paste it below the current line
    • :+8t. – Copy the line 8 lines after the current line and paste it below
    • :10,20t. – Copy lines 10 to 20 and paste them below
    • :t20 – Copy the current line and paste it below line 20
  • Pasting into Vim from @stackoverflow? Avoid indent fail by using set :paste or use the system clipboard with "*p

    https://vimtricks.com/p/vimtricks-avoid-paste-formatting

The shortcut keyboards in insert mode

  • <c-w> - delete a word
  • <c-x><C-f> - autocomplete filenames in vim.
  • <c-n> - 自动提示
  • <c-p> - 自动提示
  • <c-r>= - From insert mode, enters Vim’s expression register
  • <c-f> - switch from Command-Line mode to the command-line window. Or During the / portion of a search, open a search history window.
  • <c-a> or <C-x> - increment or decrement hex, binary, and octal numbers in normal mode.
  • <c-k> + 2 letters - add special characters in insert mode. Examples:
    • <c-k>oo • bullet
    • <c-k>Db ◆ diamond bullet
    • <c-k>Pd £ pound
    • <c-k>Eu € euro
    • <c-k>-N – en dash
    • <c-k>-M — em

The undo tree usr_32.txt

  • If you make changes, undo, then make a different change, then undo, then make a different change, you create undo branches.
  • To view the change tree, run :undolist, to navigate the undo branches, use g-, g+
  • Go back to an earlier text state with the :earlier command.
  • Go to newer text state with the :later command. This command accepts the following time units: s (seconds), h (hours), d (days), and f (number of saves).

Change the case of characters with ~, u and U.

  • gUw - Uppercase to end of word
  • gUiw - Uppercase entire word
  • guap - Lowercase paragraph

Sort lines in Vim:

sort-motion plugin - The primary interface to this plugin is via the gs mapping, for sorting based on a text object or motion.

Examples:

  • gs2j => Sort down two lines (current + 2 below)
  • gsip => Sort the current paragraph
  • gsii => Sort the current indentation level (requires text-obj-indent plugin)
  • gsi( => Sort within parenthesis. (b, c, a) would become (a, b, c)

Vim has some built in options:

  • :sort - sort all lines
  • :sort! - sort in reverse
  • :sort u - remove dupes and sort
  • :sort i - ignore case
  • :sort n - sort numerically

There are ways to sort elements of a single line in vanilla vim as well, as detailed in this StackExchange response, but they will involve some regex.

Jump between changes

  • :changes - Show list of changes
  • g; - Jump to previous
  • g, - Jump to next

:norm

The command allows you to execute normal mode operations from the command line. By combining with % , we can run a sequence of operations on an entire file.

  • :%norm - Run a normal mode command on the entire file.

Examples:

`character

  • `[ - Navigate to the beginning of your most recently yanked or changed text
  • `] - Navigate to the end of your most recently yanked or changed text

Others

  1. You can edit your visual selection by using o to bounce your cursor to the opposite end of the selection. Adjust the top bound as needed, then press o to return to the bottom.

  2. Use gv in Vim to reselect the last visual selection

  3. filename-modifiers关于Unix:在Vim中打开与当前文件相同的文件夹中的文件

    :p Make file name a full path, :h expand, :wildcards

  4. Use ea to append to the end of the current word.

  5. Swap two characters in Vim with xp

  6. Put from the "% register to put the name of the current file.

  7. To make it easier to navigate conflict markers, you could tweak the built-in matchit plugin: stackoverflow.com/a/71676129/853…

  8. Multiple cursor support

  9. Open the quickfix window with :cwin and see the results. Next we do another search. To get back to our previous, older quickfix window, we use :colder. Then, we can return to the most recent search results with :cnewer.

Ex Command-line

  • :set noignorecase - make searches case sensitive (the default)
  • :set hlsearch - highlight the remaining matches with the search highlight group.
  • :set splitright - open splits in a right direction.
  • :set splitbelow - open splits in a below direction.
  • :set laststatus=3 - show only one activeted single status bar
  • :edit! - revert (go back or return to) all changes to the current buffer.
  • :1,5j - Use the ex command j to join some lines on a range. Use visual selection, and J to join or 'gJ' to join without spacing
  • Use %:h to get the path part of the current file. i.e., cd %:h to set the working directory to the directory of the current file.
  • Use :reg to view the contents of all registers, or :reg{register} to view the contents of one.
  • :Man command - Open that command's man page
  • :dig - open a list of all digraphs available on your system (complication options can affect the list)
  • :reg - open the vim registers
  • Toggle Vim boolean options
    • adding a bang ! at the end. :set number!, :set cusorcolumn!
    • :set number will turn the feature on
    • :set nonumber will turn the feature off
  • Check the current state of any option by adding a question mark ? to the end: :set number? will return either number or nonumber depending on if the option is on or off.
  • Repeat the history command
    • Enter command mode : and then press <C-p> to cycle back through your history, finding a command and invoking it again.
    • if the command was the last colon command you ran, simply press @: to repeat the last command.j
  • Delete using the "_d{motion} command to delete without overwriting your default register.
  • Non-printable Characters ^M is a single character inserted by using CTRL-v
    followed by CTRL-m. UTF-8 C1 Controls and Latin1 Supplement

Helps

  • :help wildoptions - command-line completion allows fuzzy-matching in some cases
  • :help registers - "0p will paste from the 0 register, which automatically contains the last yanked text.
  • :help global
  • :help no-greedy - because .* is greedy. It matches the maximum amount of text it can. .\{-} will match the fewest characters possible to make a match.
  • :help jumplist - jumps are cursor movements stored in a list called the jumplist. movements which modify the jump list are:
    • /pattern searches and ?patternsearches (forward and backward pattern matching)
    • * and # (forward and backward search for the word under the cursor.
    • % (jump to a matching enclosing character like paren, brace, bracket, etc)
    • Any inter-file navigation like gf
  • :help scroll-cursor
  • :help option-list - all vim options
  • :help usr<tab>
  • :help buffer
  • :help window
  • :help <tab>
  • :help split
  • :help motion
  • :help options
  • :help <tabcomplate or ctrl-d>
  • :help <specific option name>
  • :help quickfix
  • :help macros
  • :help motions
  • :help substitude

References

GIthub Actions

https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows | Events that trigger workflows - GitHub Docs
https://docs.github.com/en/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token | Automatic token authentication - GitHub Docs
https://github.com/gr2m/boop-gregors-nose/blob/main/.github/workflows/boop.yml | boop-gregors-nose/boop.yml at main · gr2m/boop-gregors-nose
https://github.com/yihong0618/2022/blob/main/.github/workflows/bookmark.yml | 2022/bookmark.yml at main · yihong0618/2022
https://github.com/gr2m/helpdesk/blob/main/update-show-sections-in-readmes.js | helpdesk/update-show-sections-in-readmes.js at main · gr2m/helpdesk
https://github.com/octokit/plugin-paginate-rest.js#readme | octokit/plugin-paginate-rest.js: Octokit plugin to paginate REST API endpoint responses
https://docs.github.com/zh/developers/apps/getting-started-with-apps/about-apps | 关于应用程序 - GitHub Docs
https://github.com/JasonEtco/readme-box/tree/main/.github/workflows | readme-box/.github/workflows at main · JasonEtco/readme-box
https://docs.github.com/zh/actions/examples/using-scripts-to-test-your-code-on-a-runner | 使用脚本在运行器上测试代码 - GitHub Docs

Vu3 按需导入

https://element-plus.org/zh-CN/guide/quickstart.html#%E6%8C%89%E9%9C%80%E5%AF%BC%E5%85%A5 | 快速开始 | Element Plus
https://github.com/antfu/unplugin-auto-import#install | antfu/unplugin-auto-import: Auto import APIs on-demand for Vite, Webpack and Rollup
https://github.com/element-plus/element-plus | element-plus/element-plus: 🎉 A Vue.js 3 UI Library made by Element team
https://github.com/antfu/unplugin-vue-components | antfu/unplugin-vue-components: 📲 On-demand components auto importing for Vue
https://juejin.cn/post/7061853693121036319 | 解决 element-plus 自动导入时的 message 等组件的使用问题 - 掘金
unplugin/unplugin-auto-import#23 | feat: custom resolvers by jfgodoy · Pull Request #23 · antfu/unplugin-auto-import
https://github.com/sxzz/element-plus-best-practices/blob/db2dfc983ccda5570033a0ac608a1bd9d9a7f658/vite.config.ts#L56 | element-plus-best-practices/vite.config.ts at db2dfc983ccda5570033a0ac608a1bd9d9a7f658 · sxzz/element-plus-best-practices
https://www.cnblogs.com/Enziandom/#/e/17054183 | Himmelbleu - 博客园

动态表单

https://cloud.tencent.com/developer/article/1922441 | 前端推荐!阿里高性能表单解决方案——Formily - 腾讯云开发者社区-腾讯云
https://juejin.cn/post/7042223821218119694 | 京东DripForm,标准化表单动态配置能力 - 掘金
https://juejin.cn/post/7098274503179894815 | 动态表单(2)—— 复杂表单 DSL 设计(上) - 掘金
https://github.com/JDFED/drip-form | JDFED/drip-form: 基于React和JSONSchema的动态表单解决方案
https://github.com/GavinZhuLei/vue-form-making | GavinZhuLei/vue-form-making: A visual form designer/generator base on Vue.js, make form development simple and efficient.(基于Vue的可视化表单设计器,让表单开发简单而高效。)
https://github.com/xaboy/form-create | xaboy/form-create: 强大的动态表单生成器|form-create is a form generation component that can generate dynamic rendering, data collection, verification and submission functions through JSON.
https://github.com/JakHuang/form-generator | JakHuang/form-generator: Element UI表单设计及代码生成器
https://github.com/reeli/d-form | reeli/d-form: 一个动态表单解决方案(A dynamic form solution)
https://github.com/alibaba/x-render | alibaba/x-render: 🚴‍♀️ 阿里 - 很易用的中后台「表单 / 表格 / 图表」解决方案
https://github.com/alibaba/formily | alibaba/formily: 📱🚀 🧩 Cross Device & High Performance Normal Form/Dynamic(JSON Schema) Form/Form Builder -- Support React/React Native/Vue 2/Vue 3

Vue3 Template

https://github.com/element-plus/element-plus-webpack4-starter | element-plus/element-plus-webpack4-starter: 🌰 A starter kit for Element Plus with Webpack 4.
https://github.com/element-plus/element-plus-webpack5-starter | element-plus/element-plus-webpack5-starter: 🌰 A starter kit for Element Plus with Webpack 5.
https://github.com/element-plus/unplugin-element-plus/tree/main/examples/vite | unplugin-element-plus/examples/vite at main · element-plus/unplugin-element-plus · GitHub
https://github.com/element-plus/element-plus-vite-starter | element-plus/element-plus-vite-starter: 🌰 A starter kit for Element Plus with Vite
https://yiming_chang.gitee.io/pure-admin-doc/ | Pure Admin
https://github.com/antfu/vitesse | antfu/vitesse: 🏕 Opinionated Vite + Vue Starter Template

Node CLI 参数解析

https://github.com/tj/commander.js | tj/commander.js: node.js command-line interfaces made easy
https://github.com/minimistjs/minimist | minimistjs/minimist: parse argument options
https://github.com/yargs/yargs | yargs/yargs: yargs the modern, pirate-themed successor to optimist.
https://www.digitalocean.com/community/tutorials/nodejs-command-line-arguments-node-scripts | How To Handle Command-line Arguments in Node.js Scripts | DigitalOcean
https://stackoverflow.com/questions/4351521/how-do-i-pass-command-line-arguments-to-a-node-js-program | javascript - How do I pass command line arguments to a Node.js program? - Stack Overflow

Powershell101

探索 Powershell

  • Get-Verb Returns a list of verbs that most commands adhere to.
  • Get-command retrieves a list of all commands installed on your machine.
  • Get-Member operates on object based output and is able to discover what object, properties and methods are available for a command.
  • Get-Help displays a help page describing various parts of a command.

配置 powershell

  1. 安装 powershell

  2. 配置 windows terminal

  3. 安装 scoop - A command-line installer for Windows

  4. 安装 Winget - Install and manage applications

  5. 安装 git for windows - Offer a lightweight, native set of tools

    winget install -e --id Git.Git
  6. 安装 gccneovim

    scoop install gcc neovim
  7. powershell 配置文件 - about _profiles

    The $PROFILE variable

    The $profile automatic variable stores the paths to the Powershell profiles that are available in the current session.

    The $PROFILE variable stores the path to the "Current User, Current Host" profile. The other profiles are saved in note properties of the $PROFILE variable.

    $profile

    Split-Path $PROFILE.CurrentUserCurrentHOST
    
    mkdir ~/.config/powershell
    nvim ~/.config/powershell/user_profile.ps1

    创建 $PROFILE.CurrentUserCurrentHost 文件 ,并添加 . $env:USEPROFILE\.config\powershell\user_profile.ps1 内容,重新启动终端,这时配置文件已生效。

    # Create a profile
    New-Item $PROFILE.CurrentUserCurrentHost
    
    # or 
    nvim $PROFILE
  8. 安装 posh-gitoh-my-posh

    • Prompt for Git repositories
    • A prompt theme engine for any shell
    Install-Module posh-git -Scope CurrentUser -Force
    Install-Module oh-my-posh -Scope CurrentUser -Force

    编辑 ~/.config/powershell/user-profile.ps1

    # Prompt
    Import-Module posh-git
    Import-Module oh-my-posh
    Set-PoshPrompt <themename>
  9. 自定义 prompt

  10. 安装 nvm

    scoop install nvm
  11. 安装 terminal icons

    # Install-Module
    Install-Module -Name Terminal-Icons -Repository PSGallery -Force
    
    # or use scoop
    scoop bucket add extras
    scoop install terminal-icons
    
    Import-Module Terminal-Icons
  12. 安装 z

    Install-Module -Name z -Force 
  13. 安装 PSReadLine - autocompletion

    How to use PSReadLine

    Install-Module -Name PowerShellGet -Force
    Install-Module -Name PSReadLine -Force -SkipPublisherCheck -AllowPrerelease

    To start using, just import the module:

    Import-Module PSReadLine

    To view the current key bindings:

    Get-PSReadLineKeyHandler

    To use Emacs key bindings, you can use:

    Set-PSReadLineOption -EditMode Emacs

    Specifies the source for PSReadLine to get predictive suggestions.

    Set-PSReadLineOption -PredictionSource Hisory

    Sets the style for the display of the predictive text. The default is InlineView.

    Set-PSReadLineOption -PredictionViewStyle ListView

    # user_profile.ps1
    Import-Module PSReadLine
    Set-PSReadLineOption -EditMode Emacs
    Set-PSReadLineOption -PredictionSource HisoryAndPlugin
    Set-PSReadLineOption -PredictionViewStyle ListView
  14. 安装 fzf PSFzf

    scoop install fzf
    Install-Module -Name PSFzf -Scope CurrentUser -Force

about_Environment_Provider

The environment Environment provider lets you get, add, change, clear, delete environment variables and values in Powershell.

Windows and Powershell use Environment variables to store persistent information that affect system and process execution.

Unlike PowerShell variables, environment variables are not subject to scope constraints.

The Environment provider supports the following cmdlets.

about_Environment_Variables

Environment variables store information about the operating system environment.

The environment variables store data that is used by the operating system and other programs.

about_CommonParameters

描述可与任何 cmdlet 一起使用的参数。****

常见问题

Windows terminal 下 git bash 乱码问题

在相应的 git-for-windows 的安装路径文件 **\Git\etc\bash.bashrc 末尾添加

# 让ls和dir命令显示中文和颜色 
alias ls='ls --show-control-chars --color' 
alias dir='dir -N --color' 
# 设置为中文环境,使提示成为中文 
export LANG="zh_CN" 
# 输出为中文编码 
export OUTPUT_CHARSET="utf-8"

# 可以输入中文 
set meta-flag on 
set output-meta on 
set convert-meta off

命令

  • 生成唯一标识 guid [guid]::NewGuid()

  • 设置代理

    # powershell
    $env:HTTP_PROXY="http://127.0.0.1:1080"
    $env:HTTPS_PROXY="http://127.0.0.1:1080"
    
    # cmd
    set http_proxy=http://127.0.0.1:1080

技巧

  1. 按tab 键可自动补全命令
  2. Reset your video devicer: Ctrl+shift+win+B

资源

https://www.powershellgallery.com/packages/PSFzf/2.0.0

https://www.powershellgallery.com/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.