最新消息:本站所有跳转向bbs.ykit.cn的附件将全面停止,附件已转移到https://www.qingsj.com

vim基础教程

Linux 有客 979浏览 0评论

几种工作模式

进入插入模式

i       当前位置
I       当前行行首
a       当前位置的后一个位置
A       当前行行末
o       当前行的下一行
O       当前行的上一行

移动

h(left) j(down) k(up) l(right)

文本编辑

x       删除光标所在处字符
fn      找下一个字符n
dw      删除一个单词
dd      删除光标所在行
5dd     删除5行

u       撤销操作
ctrl+r  重做操作(u的反向操作)
yy      复制一行
p       粘贴

r       替换一个字符
s       更改一个字符
cw      更改一个单词

设置

:set number(nu)      设置行号
:set nonumber        取消行号
:set autoindent(ai)  自动缩进

保存、退出

:wq                  保存退出
ZZ                   保存退出
:w filename          文件另存为

窗口操作

:sp(new) filename    水平分屏
:vsp(vnew) filename  垂直分屏
ctrl +ww或hjkl        切换窗口
:e filename          打开另一个文件(把filename加载到新的缓冲区中)
:bn(buffer next)     切换到下一个缓冲区
:bd(buffer delete)   删除缓冲区

键盘映射

:map <Tab> :bn<CR>   将:bn命令映射为Tab键(map命令模式映射)
:imap jj <Esc>       将jj映射为Esc(imap编辑模式映射)
let g:mapleader=","  全局设置用,代替\

标签

:tabe filename  新建标签
:tabr           切换到第一个标签
:tabl           切换到最后一个标签
gt              切换到下一个
gT              切换到上一个
map t gt
map T gT

查找、替换

/pattern         向后搜索字符串pattern
?pattern         向前搜索字符串pattern
n                下一个匹配(如果是/搜索,则是向下的下一个,?搜索则是向上的下一个)
N                上一个匹配(同上)

:g/^$/d          删除空行
:%s/^../         删除每行前两个字母(%表示当前文件所有的, s-similar替换)
:%s/old/new/g    搜索整个文件,将所有的old替换为new(g-global所有的)
:1,10s/old/new/g 替换1到10行里的
:%s/old/new/gc   搜索整个文件,将所有的old替换为new,每次都要你确认是否替换

书签

ma  把当前位置存在标签a
Ma  把当前文件存在标签a
`a  跳转到标签a处

可视化模式

v       进入可视模式,单字符模式
V       进入可视模式,行模式
ctrl+v  进入可视模式,列模式

o       跳转光标到选中块的另一个端点
U       将选中块中的内容转成大写
u       将选中块中的内容转成小写
aw      选中一个字
ab      选中括号中的所有内容,包括括号本身
aB      选中{}括号中的所有内容
ib      选中括号中的内容,不含括号
iB      选中{}中的内容,不含{}

>   块右移一个tab
<   块左移一个tab
y   复制块
d   删除块
~   切换块中内容的大小写

选中、删除、复制、修改引号或括号内的内容

vi’、vi”、vi(、vi[、vi{、vi< -            选中
di’、di”、di(或dib、di[、di{或diB、di< -  删除
yi’、yi”、yi(、yi[、yi{、yi< -            复制
ci’、ci”、ci(、ci[、ci{、ci< -            更改

在vim中使用shell命令

:! date
:r! date       将date的输出结果输入到当前文本

其他

gg=G 或 ggVG=  格式化文本

转载请注明:有客帮 » vim基础教程

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址