vim常用操作

二维码
| Mar 26, 2019 | 原创

vimlinux下常用的编辑器,掌握vim常用技巧,让开发如鱼得水。此篇仅整理易忘知识点。

vim基本配置

用户级配置放在用户家目录即可:~/.vimrc,常用配置如下:

# 文件语法高亮
syntax on

# 编辑器带行号
set number

# tab缩进为4个空格,ts 和 tabstop 都可以
set tabstop=4

# 使用空格替换tab
set expandtab

很多操作系统中,如果发觉普通用户vi高亮,配置生效,但是root用户无效,那么可以使用 vim命令替代vi或在.bashrc中配置别名:

alias vi='vim'

vim字符串替换

# 全文替换
:%s/abc/cba/g

# 仅替换当前行中第一个abc为cba
:s/abc/cba/

# 替换当前行中所有abc为cba
:s/abc/cba/g

# 指定行替换
:n,ms/abc/efg/g

# 指定行到文件末尾
:n,$s/abc/cba/g

使用字符替换可以作为给多行文本添加注释的技巧:

#添加注释
:10,20s/^/#/g

#取消注释
:10,20s/^#//g

筛选

在 vi 中输入 :!command(其中的 command 是要执行的 UNIX 命令),然后按回车,就可以在 shell 中执行命令。例如,:!pwd 显示编辑会话当前的工作目录。

:!pwd

保存文件部分片段为新文件

# 保存当前文件的10 ~ 20行到file新文件保存
:10,20w >> file

列模式

有时候同时操作多列数据很有帮助,sublime文本编辑器就提供这样的模式,vim进入列模式快捷键是:ctrl + v, 进入列模式后台可以选择需要操作的列(上下箭头,G代表从当前行到行位), 然后:

vim文件分屏多文件操作

很多时候可能需要同时操作多个文件,而且操作之间有联系,那么分屏打开多个文件是个不错的选择:

启动vim立即分屏

vim -On file1 file2
# n 代码数字,表示分几块屏幕 O 垂直分屏,o 水平分屏

文件编辑中分屏打开新文件

# 上下分割当前打开的文件
ctrl+w s

# 上下分割,并打开一个新的文件
:sp filename

# 左右分割当前打开的文件
ctrl+w v

# 左右分割,并打开一个新的文件
:vsp filename

关闭分屏

#关闭当前窗口
ctrl+w c

#关闭当前窗口,如果只剩最后一个,则退出vim
ctrl+w q

分屏编辑中光标的移动

vim中的光标键是h,j,k,l,要在各个屏之间切换,只需要先按一下ctrl + w

# 1.把光标移动到上边的屏
ctrl+w k

# 2.把光标移动到下边的屏
ctrl+w j

# 3.把光标移动到右边的屏
ctrl+w l

# 4.把光标移动到左边的屏
ctrl+w h

# 5.把光标移动到下一个的屏
ctrl+w w