vim使用及快捷键
快捷键(待整理)
基础快捷键
基本命令
i, I
进入输入模式(Insert mode): i 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』。a, A
进入输入模式(Insert mode): a 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始输入』。o, O
进入输入模式(Insert mode): 这是英文字母 o 的大小写。o 为『在目前光标所在的下一行处输入新的一行』; O 为在目前光标所在处的上一行输入新的一行!r, R
进入取代模式(Replace mode): r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;u
复原前一个动作。Ctrl+r
重做上一个动作。.
重复前一个动作的意思
翻页
- Ctrl+f 屏幕『向下』移动一页,相当于 [Page Down]按键 (常用)
- Ctrl+b 屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用)
- Ctrl+d 屏幕『向下』移动半页
- Ctrl + u 屏幕『向上』移动半页
光标移动
h
:左移光标。j
:向下移动光标。k
:向上移动光标。l
:右移光标。0
:移动到行首。^
:移动到本行第一个非空字符。$
:移动到行尾。gg
:移动到文件首行。G
:移动到文件末行。w
:移动到下一个单词的开头。b
:移动到前一个单词的开头。e
:移动到当前单词的结尾。+
光标移动到非空格符的下一行-
光标移动到非空格符的上一行n < space >
按下n(数字)后再按空格键,光标会向右移动这一行的 n 个字符。H
:移动到屏幕顶部。M
光标移动到这个屏幕的中央那一行的第一个字符L
光标移动到这个屏幕的最下方那一行的第一个字符G
移动到这个档案的最后一行(常用)nG
n 为数字。移动到这个档案的第 n 行。(配合 :set nu)n< Enter >
n 为数字。光标向下移动 n 行
文档查询替换
查找:
/word
向光标之下寻找一个名称为 word 的字符串。?word
向光标之上寻找一个字符串名称为 word 的字符串。n
代表重复前一个搜寻的动作。N
与 n 刚好相反,为『反向』进行前一个搜寻动作。
替换:
:n1,n2s/word1/word2/g
n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2:1,$s/word1/word2/g 或 :%s/word1/word2/g
从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !:1,$s/word1/word2/gc 或 :%s/word1/word2/gc
替换整个文件所有的word1
为word2
,每次替换时确认。
编辑文本
x, X
在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符( 相当于 [backspace] 亦即是退格键)nx
n 为数字,连续向后删除 n 个字符。
dd
删除游标所在的那一整行ndd
n 为数字。删除光标所在的向下 n 行d1G
删除光标所在到第一行的所有数据dG
删除光标所在到最后一行的所有数据dw
:删除从光标到单词结尾的内容。d$
删除游标所在处,到该行的最后一个字符d0
删除游标所在处,到该行的最前面一个字符D
:删除从光标到行尾的所有内容。yy
复制游标所在的那一行yw
就是复制一个单词(word)y+n
复制n行nyy
n 为数字。复制光标所在的向下 n 行y1G
复制游标所在行到第一行的所有数据yG
复制游标所在行到最后一行的所有数据y0
复制光标所在的那个字符到该行行首的所有数据y$
复制光标所在的那个字符到该行行尾的所有数据p, P
p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行!J
将光标所在行与下一行的数据结合成同一行c
重复删除多个数据,例如向下删除 10 行,[ 10cj ]cw
:删除从光标到单词结尾并进入插入模式。C
:删除从光标到行尾并进入插入模式。
其他
:w [filename]
将编辑的数据储存成另一个档案(类似另存新档):r [filename]
在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面:n1,n2 w [filename]
将 n1 到 n2 的内容储存成 filename 这个档案。:! command
暂时离开 vi 到指令行模式下执行 command 的显示结果!
可视化模式
v 进入字符可视化模式
V 进入行可视化模式
Ctrl+v 进入块可视化模式,块选择在表格中删除指定列非常有用
使用鼠标或者hjkl即可选中字符/行/块,然后可以y,x…
更有用的是对块批量操作,例如批量注释可以这么写
批量注释:
Ctrl + v 进入块选择模式,然后移动光标选中你要注释的行,再按大写的 I 进入行首插入模式输入注释符号如 // 或 #,输入完毕之后,按两下 ESC,Vim 会自动将你选中的所有行首都加上注释,保存退出完成注释。
取消注释:
Ctrl + v 进入块选择模式,选中你要删除的行首的注释符号,注意 // 要选中两个,选好之后按 d 即可删除注释,ESC 保存退出
还可以在选择文字后输入:
然后把你在平时这么用的就怎么写,注意按:
会多出一些东西不要管他,例如
`:A //这是一堆注释` |
然后Vim会根据你所写,先对每一样在Normal模式下使用A
把光标移动到该行行尾,然后进入Insert模式输入//这是一堆注释
对每一行都操作结束之后就会自动退出到Normal模式
按动ZZ
(大写的)保存文件
进阶快捷键
窗口管理
:split
或:sp
:水平分割窗口。:vsplit
或:vsp
:垂直分割窗口。Ctrl + w + w
:切换窗口。Ctrl + w + h
:移动到左侧窗口。Ctrl + w + j
:移动到下方窗口。Ctrl + w + k
:移动到上方窗口。Ctrl + w + l
:移动到右侧窗口。Ctrl + w + q
:关闭当前窗口。
标签页操作
:tabe
:打开一个新标签页。:tabn
或gt
:切换到下一个标签页。:tabp
或gT
:切换到上一个标签页。:tabc
:关闭当前标签页。:tabo
:关闭所有其他标签页。
宏录制与播放
q
+a-z
:开始录制宏,将操作记录到指定的寄存器a-z
中。q
:停止录制。@a
:播放寄存器a
中的宏。@@
:重复上一次播放的宏。
寄存器操作
"a
+yy
:将当前行复制到寄存器a
。"b
+p
:从寄存器b
粘贴内容。
块操作
Ctrl + v
:进入可视块模式。Shift + i
:进入插入模式,批量插入字符。Shift + a
:进入插入模式,批量在行尾追加内容。
自定义快捷键
在 .vimrc
中设置自定义快捷键
" 快速保存 |
其他常用快捷键
自动补全
Ctrl + n
:向下选择补全项。Ctrl + p
:向上选择补全项。
缩进
>>
:将当前行右缩进。<<
:将当前行左缩进。=
:自动调整缩进(可以配合v
可视模式选择多行使用)。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 博闻录!
评论
ValineDisqus