在Windows上使用Vim
几年前使用vim,在此记录下Vim的命令以及_Vimrc配置文件
保存&退出命令(Save&Quit Command)
:w #保存(后面加!强制执行)
:q #退出(后面加!强制执行,不保存)
:wq #保存并退出
:x #保存并退出(仅在需要时保存)
ZZ #保存并退出
ZQ #退出不保存
搜索&替换命令(Search&Replace Command)
:/ #向下搜索(如果搜索出多个匹配,可按n键到下一个)
:? #向上搜索
:s/old/new #替换第一个匹配的
:s/old/new/g #替换整行中匹配的
:%s/old/new/g #全文件替换所有匹配的
:%s/old/new/gc #全文件替换匹配的,需确认
:n,ms/old/new/gc #从n行到m行替换,需确认
:%s/\s\+$// #去掉所有行尾的空格
:%s/\(\s*\n\)\+/\r/ #去掉所有空白行
r #替换当前字符
r #进入replace模式进行编辑,从光标处开始替换
复制&粘贴命令(Copy&Paste Command)
yy #复制当前行(相当于ddP)
xyy #把当前行复制到寄存器x
xp #粘贴寄存器x中的内容
p #粘贴剪贴板板里(小写当前位置之后,大写当前位置之前)
:<Ctrl-r>+ #命令行粘贴
:<Ctrl-r>" #命令行粘贴
:<Ctrl-f>或q: #打开命令行窗口
剪切&删除命令(Cut&Delete Command)
*和# #匹配光标当前所在的单词,(*是下一个,#是上一个)
C #剪切从光标位置到行尾到剪贴板,并进入插入模式
cc #剪切当前行并进入插入模式
D #剪切从光标位置到行尾到剪贴板
dd #删除当前行,并把删除的行存到剪贴
ndd #删除当前以下n行
dt" #删除所有内容,直到遇到"
dG #从当前行到最后一行全删
dnG #删除当前行到第n行
s #剪切当前字符到剪贴板并进入插入模式
s #删除光标所在行并进入插入模式
x #剪切当前字符到剪贴板
cw #替换从光标所在位置后到一个单词结尾的字符
插入&编辑命令(Insert/Edit Command)
a #在当前光标前插入
a #在当前行尾插入
i #在当前光标后插入
i #在当前行首插入
o #在当前行的下一行插入一行
o #在当前行的上一行插入一行
i=>[ESC] #按I后插入内容,再按ESC键为每一行生效(Ctrl+q可视块使用hjkl(或%)来移动光标选择区域)
正常模式快速移动命令(Normal mode fast-moving command)
k #向上
j #向下
h #向左
l #向右
\` #移动到上次编辑位置(去掉\编辑器问题)
0 #移动到本行行头
$ #移动到本行行尾
% #移动到与当前括号匹配的括号处,包括 (, {, [
^ #移动到当前行的第一个非blank字符位置
b #移动到上一个单词起始处
b #移动到上一个单词起始处,长跳
e #移动到下一个单词结尾处
e #移动到下一个单词结尾处,长跳
w #移动到下一个单词起始处
w #移动到下一个单词起始处,长跳
G #移动到当前文件最后一行
h #移动光标到屏幕上面
l #移动光标到屏幕下面
M #移动光标到屏幕中间
fx #移动到下一个为x的字符处
nfx #移动到当前行当前光标后第n个位置出现的x字符处
tx #移动到x字符前一个字符处
gt #移动到下一个标签页
gt #移动到上一个标签页
gg #移动到当前文件第一行
gd #移动到当前光标所在的变量的声明处
g_ #移动到本行最后一个不是blank字符的位置
<ctrl-f> #向上翻一页
<ctrl-b> #向下翻一页
:n #移动光标到n行
其它常用命令(Other commonly used commands)
< 或> #左右缩进
== #自动缩进当前行
\~\ #大小写切换(去掉\\编辑器问题)
. #小数点重复上一次命令
u #撤销
<ctrl-r> #重做
j #当前行与下一行合并
V #按行选择(v进入可视模式使用hjkl(或%)来移动光标选择区域)
ga #显示当前光标下的字符在使用的encoding下的内码
qa #把操作记录在寄存器a,@a会replay被录制的宏,@@是一个快捷键用来replay最新录制的宏
:noh #关闭搜索后高亮效果
:split(sp) #创建水平分屏
:vsplit(vsp) #创建垂直分屏
:e <path/to/file> #打开一个文件
:saveas <path/to/file> #另存为 <path/to/file>
:bp #跳转到上一个缓冲区
:bn #跳转到下一个缓冲区
_Vimrc配置
待续...