Vim Common Command

本文提供 Vim 编辑器的常用命令速查表,包括文件操作、文本编辑、复制粘贴等功能,帮助用户快速掌握 Vim 的基本用法。

----命令行-----
打开新的tab
:tabnew d:\$PATH\file

在当前编译窗口打开文件
:e d:\$PATH\file

:%s/为./&\r/gc

% 全文,否则为当前行
s 替换 s/a/b为把a替换为b
& 被替换的内容
\r 回车
/gc 一直替换(不是仅替换第一个),并且要用户确认。
支持正则表达式
为. 以为开头的两个字符
s. 以s开头的两个字符
注:
/g 一直替换下去,不加的话,替换当前行第一个。
% 全文的每行第一个。
%/g 全文的所有。

----操作----

移动行尾
$
移动行首
^
移动文件首
gg
移动到文件的n行
ngg或nG
:n
移动文件尾
G
移动到屏幕的最上行
H(Highest)
移动到屏幕的n行
nH

向后移动一个单词
w
向前移动一个单词
b
注:中文就是一行

移动多个单位
nh 左移n个
nl 右移n个
nj 下移n个
nk 下移n个
nw 后移n个单词
nb 前移n个单词

列操作
按ctrl+q(也就是windows下,而Linux的xbeta下使用ctrl+v)
15jx
15j表示以下15列,x表示删除,d也可以
注:d表示剪切,y是复制,p是粘贴

复制
yy 复制当前行
yw 复制当前单词(含后面的空格)
ye 复制当前单词(不含后面空格)
yW 复制当到第一个空格处内容(含后面空格)
yE 复制当到第一个空格处内容(不含后面空格)
y 与 w 的区别在于有无空格
y1 复制当前光标处的一个字符
命令行模式下输入
:5,10 co 12 /* 将第5行至第10行复制到第12行 */

/* 任意连续多行复制到某处 */
光标移到起始行,输入ma
光标移到结束行,输入mb
光标移到粘贴行,输入mc
然后 :'a,'b co 'c
把 co 改成 m 就成剪切了

复制剪切板中的内容
"*p
复制到剪切板中
"*yy

粘贴
p 粘贴在当前光标之后
P 粘贴在当前光标之前

大小写转换
guu 当前行小写
gUU 当前行大写
g~~ 当前行大小写翻转
g??

删除n个字符
nx

删除行
dd 删除1行
3dd 删除3行 或是d3d
:20,23 de 删除20到23行的所有内容

[number] d object 或 d [number] object
dG 删除当前行以下的所有内容
d$ 删除当前光标到行尾
dw 删除当前单词(包含空格)
de 删除当前单词(不包含空格)

D删除右侧内容
df> 删除到>处的内容


重复修改操作
.
重复做出所做的修改

可视行,多行选择
V

进入Visual模式
o选择另一端,对角线
O到选择的轴对称面

[number] c object 或 c [number] object
cG 替换当前行以下的所有内容
c$ 替换当前光标到行尾
cw 替换当前单词(包含空格)
ce 删除当前单词(不包含空格)

删除{}等括号里的行
:di{
:diB

重做操作
ctrl+r

撤销
u

移动一个tab
shift+>>

移动到当前行首
0

移动屏幕
ctrl+e向上滚动

当前行移动屏幕中间
zz

跳转到前一处
``

跳转到更早之前的位置
ctrl+o(older)
ctrl+i(i在o之前) = <Tab>键

标记
a~z
ma 标记a

跳转到标记
`a 跳到mark a 所在处
'a 路到mark a 所在行行首

列出所有mark
:marks

录制名为a的宏操作

qa <操作...> q

执行时,可以使用

n@a

n:数字,次数,@表示执行,a为宏名

若想执行最新定义的宏一次,也可以

@@或@a


当前行下插入空白行,并进入插入模式
o
当前行下插入空白行,并进入插入模式
O

不同tab间切换
gt

----- 编程 ------

查看函数的man

K


在Vim中编译

:make /* 相当于:!make */

打开查看窗口

:copen


在Vim中grep

:grep keyword *.c

打开查看窗口

:copen

 

--- 折叠 ---

zo (open) 打开光标所在处的折叠

zc (close) 关闭光标所在处的折叠

zr (reduce)打开所有折叠

zm (more)关闭所胡折叠

zR 打开所有折叠,包括子折叠

zM 关闭所有折叠,包括子折叠

zi 所有折叠状态切换

zn (none) 打開全文的所有折叠

zN 关闭所有的折叠

zr 作用于foldlevel,有层次的概念,而zn作用于foldenable,使能的概念

 

--- 多窗口操作 ---

Ctrl-w + n split一个新的窗口(水平)

:vs split一个新的窗口(水平)

Ctrl-w + s 打开一个与当前窗口一样的新窗口(水平)

Ctrl-w + v 打开一个与当前窗口一样的新窗口(垂直)

Ctrl-w + q 退出当前窗口,如果为最后一个窗口,则退出vim

Ctrl-w + c 关闭当前窗口

Ctrl-w + H 把当前窗口左移

Ctrl-w + J 把当前窗口下移

 

==

自动调整当前行的格式,对齐

n==

多行调整

 

--- help ---

显示函数列表

:help function-list

然后可以使用K,进入函数详细说明

 

--- tips ---

reload vimrc

:source $MYVIMRC

:e $MYVIMRC

" source $MYVIMRC reloads the saved $MYVIMRC
:nmap <Leader>s :source $MYVIMRC

" opens $MYVIMRC for editing, or use :tabedit $MYVIMRC
:nmap <Leader>v :e $MYVIMRC

 

When you define functions in vimrc, use "function!". Some other commands should also have "!" appended, which means to overwrite the existing command.

 

命令行时,<C-F>

显示最近的command line

 

http://vim.wikia.com/wiki/Best_Vim_Tips

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值