vim

(0 comments)

VIM 是 Unix 下最常用的文本编辑工具。

基本使用

  • 保存退出
:w             保存
:w /tmp/a      将文件另存为
:q!            不保存修改退出编辑器
ZZ,:wq         保存并退出

控制命令

  • 移动光标
h,j,k,l        上下左右移动光标
w,b            前后跳过一个单词
e              移动到单词的最后
0,$            移动到行首和行尾
^              移动到行的最前一个非空字符
nG,G           移动到指定行和最后一行
ctrl + f,b     向前后滚动屏幕
  • 编辑
i,a,r,R        在当前位置插入,添加或者替换字符
o,O            在当前行上下添加新行

x              删除(剪切)当前字符
dw,cw          删除(剪切)或更改单词
dd,yy          删除(剪切)或复制当前行
D,d$           删除(剪切)当前光标到行尾的内容
d0,d^          删除(剪切)当前光标到行首的内容
:23,1045d      删除 23 到 1045 行的内容
p,P            粘贴

~              转换大小写
u,.            撤消或重复刚才的命令
ESC            退出编辑状态
  • 标记
ma             标记当前位置
`a             回到刚才标记位置
d`a            删除当前位置到标记位置的内容
  • 块编辑
v		选择区块
V		纵向选择区块
ctrl + v		行选择
  • 恢复误操作
u: 撤销最后执行的命令
U: 修正之前对该行的操作
Ctrl+R:Redo

搜索与替换

  • 搜索
/string        向下搜索字符串
?string        向上搜索字符串
n              查找下一个
/string\c   搜索时不区分大小写
  • 替换
:s/str1/str2            替换当前行中首次出现的 str1 为 str2
:s/str1/str2/g          替换当前行中所有出现的 str1 为 str2
:.,$s/str1/str2/g       替换当前位置到文件最后的所有 str1 为 str2
:1,$s/str1/str2/g       替换整篇文件中所有 str1 为 str2
:3,7s/str1/str2/g       替换第三行到第七行的所有 str1 为 str2
:3,$s/^/str/            从第三行到最后每行行首添加 str
:%s/$/str/              整个文件每行行尾添加 str
:%s/:.*//g              删除 passwd 中用户名后从冒号开始直到行尾的内容
:%s#/usr/bin#/bin#g     把文件中所有路径 /usr/bin 换成 /bin
:%s/\/usr\/bin/\/bin/g  同上

s 为替代,% 表示所有行,g 表示全部的

多个文件编辑

vi file1 file2        同时编辑两个文件
:n,:N                 调出下一个或上一个文件
:r /etc/passwd        在当前光标处读入文件
:3r /etc/passwd       从第三行开始读入文件

多窗口编辑

多窗口编辑的功能键列表如下:

功能键 说明
:sp [filename] 在新窗口打开文件,如果文件不存在则开新的文件
[ctrl + w], j 按键方法是先同时按 CTRL 和 w,然后再按 j。将光标移到下方窗口。
[ctrl + w], k 按键方式和上面相同。光标移动到上方窗口。
[ctrl + w], w 按键方式和上面相同。光标在上下窗口切换。
[ctrl + w], v 按键方式和上面相同。屏幕右边新建窗口对原文件编辑。

环境配置

环境设置参数列表如下:

设置值 说明
:set nu 显示行数。
:set hlsearch 将搜索结果高亮显示。
:set autoindent 自动缩排。
:set backup 自动备份。
:set ic 查找时不考虑大小写。
:set noXXXX 以上参数都有相应的以 no 开头的参数用于取消设置。
:set all 显示目前所有参数值。
:syntax (off|on) 开启和关闭语法加亮功能。
:set backspace=(012) 当值为 0/1 时不能删除原文件的内容,只能删除修改内容,默认为 2。
:set encoding=gb2312 输入中文
:set paste VIM粘贴时禁用自动缩进功能
set incsearch 搜索时自动高亮显示被搜索的文本

系统配置文件是 /etc/vimrc,用户配置文件是 ~/.vimrc,也可以在命令行修改当前设置 :set nu。

# 将 TAB 设置为 4 个空格 set expandtab set shiftwidth=4 set tabstop=4

vim 完全支持编辑中文,如果打开中文文件时显示乱码,只需要重新设置 LANG 环境变量。

# export LANG=zh_CN.GB18060 # vi Chinese_rules.cf

在VIM当中要对所编辑的文件进行简单加密,可以在命令行模式下键入“:X”(无括号,只有冒号和X)然后在提示“Enter the encrypt key”时输入口令字串就可以加密了。但是别忘了要保存哦!保存的时候会发现在屏幕底部有“[crypted]”这样的字样。下次打开该加密文件会要求您输入口令字串,这个总该记得的吧?

Currently unrated

Comments

There are currently no comments

New Comment

required

required (not published)

optional

required