在Windows上使用Vim

692 查看

几年前使用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配置

待续...