vim的简单使用
Content
- 三种模式
- 光标移动
- 查找与替换
- 删除、复制和粘贴
- 命令行
- 块选择
- 多文件编辑
- 多窗口显示
- 中文编码问题
- 语系转换和
三种模式
vim可以分为一般模式、编辑模式和命令行模式,各种模式的转换如下:
一般模式 ---> 编辑模式
i 当前表示符前
o 当前提示符下一行
a 当前提示符下一个
r 向后擦出
一般模式 ---> 命令行模式 :执行命令,/向下搜索,?向上搜索
编辑模式 ---> 一般模式 使用ESC键退出
移动光标
h,j,k,l 分别是左移,下移,上移,下移
0或者Home 移动到本行最前
$或者End 移动到本行最后
1G或gg 移动到第一行
nG 移动到第n行
G 移动到最后一行
n+space 向后移动n个字符
n+Enter 向下移动n行
查找和替换
/word 向下查找word
?word 向上查找word
n 移动到下一个目标
N 移动到上一个目标
:n1,n2s/word1/word2/g 从第n2到n2行将word1替换为word2
:1,$s/word1/word2/g 从第一行到最后将word1替换为word2
:1,$s/word1/word2/gc 从第一行到最后将word1替换为word2
复制和粘贴
X 向前删除
x 向后删除
dd 删除光标所在行
ndd 删除光标向下n行
d0 删除光标处到最前
d$ 删除光标出到最后
d1G 删除光标出到第一行
dG 删除光标处到最后一行
yy 复制光标所在行
nyy 复制光标下n行
y0 复制从光标出到本行最前
y$ 复制从光标处到本行最后
y1G 复制从光标处到第一行
yG 复制从光标处到最后
P 复制到光标上一行
p 复制到光标下一行
u 复原上一个操作
Ctrl+r 重复上一个操作
命令行
:q[!] 退出,加感叹号强制退出
:w[!] 保存,加感叹号强制保存
:wq[!] 保存退出,加感叹号强制
ZZ 若有改动保存退出,若无改动直接退出
:w[filename] 另存为filename
:r[filename] 将filename内容引入光标后边
:n1,n2 w filename 将n1到n2内容保存到filename中
:!command 暂时离开vi执行命令command
块选择
v 字符选择
V 行选择
Ctrl+v 块选择,长方形选择数据
y 复制选中块
d 删除选中块
多文件编辑
vim filename1 filename2
:n 编辑下一个文件
:N 编辑上一个文件
:files 列出目前vim打开的所有文件
多窗口显示
:sp filename 将另一个文件打开在另一个窗口
:sp 将本文件再次打开在另一个窗口
Ctrl+w+k/上 上一个窗口
Ctrl+w+j/下 下一个窗口
Ctrl+w+q 关闭当前窗口
中文编码问题
DOS与linux段行字符
在dos中CR与LF都是段行,在linux中只有LF
dos2unix [-kn] file newfile
unix2dos [-kn] file newfile
-k 保留源文件的日期
-n 保留源文件
语系转换和查看文件编码
iconv --list:输出iconv支持的编码
iconv -f 原本编码 -t 新编码 [-o newfile]
file -bi filename
:set fileending
简单配置
set smarttab
set tabstop=4
set shiftwidth=4
set expandtab
set autoindent
set nu
Referrences
[1] 摘自《鸟哥的私房菜》第三篇,人民邮电出版社