etc
Language Server Protocol (LSP)
在 Neovim 中运行 :PackerSync 命令来安装或更新插件:
布局,搜索,点命令,寄存器,宏,撤销,折叠。。。一些有用的思想,当然,我觉得vim最本质的优点是函数式编写
移动
搜索移动
/
进入搜索模式 n下一个N上一个f
单字母搜索
以行为单位的移动
^
移动到行首第一个词的首字母。|
移动到行首第一个字符。$
移动到行尾。j
移动到下一行。k
移动到上一行。:10
移动光标到文件第 10 行。可以 :set number 来让 vim 显示行号。gg
移动到文件首行。G
移动到文件尾行。
以屏幕为单位的移动
H
移动到当前屏的首行。L
移动到当前屏的尾行。M
移动到当前屏的中间行。zt
光标所在字符不动,将当前行移动到屏幕顶部,通常用来查看完整的下文,比如函数、类的定义。zz
光标所在字符不动,将当前行移到屏幕中间。zb
光标所在字符不动,将当前行移到屏幕底部。ctrl-f
向下翻页,移动一整个屏幕。ctrl+d
下移半页ctrl-b
向上翻页,移动一整个屏幕。ctrl-e
屏幕向下滚动一行。ctrl-u
上移半页ctrl-y
屏幕向上滚动一行。
后面几个 Ctrl 开头的命令是 Unix 命令行的惯例,比如在 man 和 less 里也适用。
标记移动
m
打标记,小写字母是当前文件,大写字母是nvim全局'a
移动至标记处的行首`a
移动至标记的具体行列:marks
列出所有标记
单词移动
w
: 将光标移动到下一个单词的开头b
: 将光标移动到前一个单词的开头e
: 将光标移动到下一个单词的词末E
: 移动到单词的结尾(忽略标点符号)ge
: 将光标移动到上一个单词的词末2w
: 指定移动的次数
文本块移动
(:移到当前句子的开头
): 移到下一个句子的开头
{: 移到当前一段的开头
}:移到下一段的开头
[[: 移到当前这一节的开头
]]: 移到下一节的开头
etc
gg
光标移动到文件开头G
光标移动至文件末尾
b
或 B
光标移动至上一个单词的单词首w
或 W
光标移动至下一个单词的单词首
fx
光标移动至当前行中下一个 x 字符处Fx
光标移动至当前行中上一个 x 字符处0
或 Home
:光标移动到本行开头
告别鼠标手,尽快选vim.
现在感觉vim单独使用比较好,和IDE的快捷键太容易冲突了,我会在虚拟机上单独vim,虚拟机就是为了从无到有体验编程的存在。
插入
插入—普通模式 在插入模式中使用Ctrl + o 来进入该模式。该模式运行用户暂时回到普通模式,然后在执行一条普通模式的命令之后自动回到插入模式中。
删除
插入模式下删除:Ctrl + h
: 删除光标前一个词(与退格键相同)Ctrl + w
: 删除光标前一个单词Ctrl + u
: 删除至行首x
快速删除一个字符
替换
复制粘贴
ggvGy
复制全文y
复制选中的文本yy
复制当前行d
剪贴文本p
(小写)新起一行粘贴文本P
在当前位置粘贴文本