(windows系统,GitBash)
最基本的一些命令和知识
- 进入vim之前先创建一个文件,以ABC.html为例
- 在GitBash中创建好之后,输入vim ABC.html打开它就进入vim了
- 直接进入的是命令模式,按
i
可切换到编辑模式,ESC
退出
:wq
存盘退出(:w
后可加文件名,:q!
强制退出当前vim,不保存;:qa!
强制退出所有的正在编辑的文件,就算别的文件有更改) - 大部分命令是区分大小写的,个别不是——大写的是一种功能,小写的就是另一种功能了。
以下内容来源《Learn Vim Progressively》
的中文版翻译。。
正文
在一般的编辑器下,当你需要copy一段文字的时候,你需要使用Ctrl
键,比如:Ctrl-C
。也就是说,Ctrl
键就好像功能键一样,当你按下了功能键Ctrl
后,C就不在是C了,而且就是一个命令或是一个快键键了,在VIM的Normal模式下,所有的键就是功能键了。这个你需要知道。
下面例举了一些较为有用的命令
简单的移动定位命令
hjkl——命令模式下的上下左右移动键,分别对应“左”,“下”,“上”,“右”
H——快速定位到当前段落开头行头
L——快速 定位到当前段落结尾最后一行行头
0(数字零)——到行头
^——到本行第一个不是blank字符的位置(blank——空格,tab,换行,回车等)
-——从光标所在行头到上一个行头
$——到本行行尾
g-——到本行最后一个不是blank的位置
/better——搜索better的字符串(如有多个匹配可按n键来切换到下一个)
各种插入命令
a——在光标后插入
o——在当前行后插入一个新行
O——在当前行后插入一个新行
cw——替换从光标所在位置后到一个单词结尾的字符
拷贝/粘贴
dd——删除当前行,并把删除的行存到剪贴板
p——粘贴到剪贴板,在当前光标位置之后;
P——粘贴到剪贴板,在当前光标位置之前
x——删除当前光标所在的一个字符
yy——拷贝当前行,相当于ddP
Undo/Redo
u——Undo
<C-r>——Redo
打开/保存/退出/改变文件
:e<path/to/file>——打开一个文件
:saveas<path/to/file>——另存为<path/to/file>
:x,ZZ或:wq ——保存并退出(:x——仅在需要时保存;ZZ——不需要:保存后退出)
:bn和:bp——你可以同时打开很多文件,使用这个命令来进行切换下一个或上一个文件
当你掌握了上面这些命令后,你就能干其他编辑器能干的事了
进阶的命令
可以和vi兼容的命令
重复命令
2dd——删除2行
3p——粘贴文本三次
100idesu[ESC]——输入100个desu
.——重复上一个命令
3.——重复3个desu
光标移动
:N或者NG——到第N行
gg——到第一行
G——到最后一行
按单词移动:
w——到下一个单词的开头
e——到下一个单词的结尾
W——到下一个单词的开头(含blank符号)
E——到下一个单词的结尾(含blank符号)
%——匹配括号移动
和#——匹配光标当前单词移动,是下一个,#是上一个
熟练记忆了一些基本的命令后,通过以上这些简单的命令还可以组合起来使用
譬如
0y$表示
0——先到行头
y——从这里开始拷贝
$——拷贝到本行最后一个字符
ye表示从当前位置拷贝到本单词的最后一个字符
y2/foo表示拷贝2个foo之间的字符串
还有一些与y无关的拷贝,下面这些命令在执行的同时已经将你改变的字符或者字符串剪贴到剪切板上了
d(删除)
v(可视化选择)
gU(变大写)
gu(变小写)
掌握以上这些基本命令,应该算是vim入门的基础了吧