vim 基本命令

vim: vi improved.

 

vim 的工作模式:

1. 命令模式:

2. 插入模式:

3. 编辑模式

 

进入 vim:

   vim filename

   vim +/20 filename

   vim +/hello filename

 

在 vim 的命令模式下 按 : 是要输入命令。

 

基本命令:

 

-- 插入命令

i -- 当前光标位置插入

I -- 光标所在行行首插入

a --

A --

o --

O --

 

-- 光标移动

h

j

k

l

 

b

w

e

 

0

$

4$ -- n$

 

fa -- 移动到当前行的字符 a 处

% 移动到当前行中匹配的括号中

 

5G -- nG 光标快速定位到指定的行处

 

-- 查找

/要查找的字符   /hello world, 然后按 n 查找下一个  --向后查找

?要查找的字符 ?hello world,  按 n 查找下一个  -- 向前查找

 

-- 替换

:替换的起始处,替换结束处  s/要被替换的字符串/替换的字符串/g

不加 g 的话,之替换没行第一个找到的字符串

替换是实现了 sed 命令; : 表示要执行命令, s 告诉是 substitution,这个 sed 完全一样。

注意:sed 默认是使用 BRE,vim 中实现的 sed 也是 BRE。

关于 BRE/ERE 请看 http://blog.csdn.net/phpandjava/archive/2009/12/05/4945233.aspx

 

 

-- 删除

x 删除光标后一个字符

5x 删除光标后 5 个字符

X 删除光标前一个字符

5X

dd 删除光标所在整行

5dd

 

-- 复制

yy 复制一整行

 

-- 粘贴

p

 

--  选择

按 v,然后 hjkl 配合

 

J -- 把相邻两行进行连接,己去掉两行件的 换行

u -- 撤销

.  -- 重复最后一次修改,比如最后一次为 dd, 则在按 . 的话就再次删除

Ctrl + r -- 重新执行刚才的撤销

 

-- 保存

:w

:w ./newfilename 令存为

退出
:q

强制性操作

! -- :w!      :q!

 

:set nu  -- 显示行号

:set nonu -- 不显示行号

vim 配置文件

在启动 vim 时,vim 会到当前登录用户的 home 目录下读取 .vimrc 文件(如果有的话)。

进入 .vimrc,输入

set nu    (用于显示行号)

 

-- 多窗口编辑

vim file1

:sp file2 或 :split file2 水平排列

:vsp file3 或 :vertical split 垂直

:new  打开新的文件 水平

:vnew 或 :vertical new 垂直

 

文件切换 先按 Ctrl+w ,在按 j 或 h 或 k 或 l 来回切换

 

vim -o file1 file2 file3 同时打开多个文件

 

:exit 保存并退出

:quit 或 :q 直接退出

:wall 保存所有

:qall 退出所有

:close 确保有一个文件不关闭

:only 关闭其他文件

:wqall

ctrl + w + H  移动打开的窗口

ctrl + w + J

ctrl + w + K

ctrl + w + L

n, ctrl, w, + 增加 n 行

n, ctrl, w, - 减少 n 行

 

-- vim  多 tab 操作

:tabnew                           新建一个 tab

:tabnew filename          在新 tab 中打开 filename

:tabp                                前一个 tab

:tabn                                后一个 tab

 

-- 翻页

ctrl + f  向后一页

ctrl + b 向前一页

ctrl + e 向后半页

ctrl + u 想前半页

 

gg -- 文件开头

G   -- 文件末尾

 

:ab myhere [email protected]

输入 myhere 直接替换为 [email protected]

:ab 显示所有所写

:una myhere  取消 myhere 的缩写

vim 中使用 linux 命令

:! 命令

:! ls -al

 

:r ! 命令 将命令的结果导入到当前文件

:r ! date

 

-- 定义快捷键

:map myhere o#[email protected]

查看定义的快捷键

:map

取消定义的快捷键

:unmap myhere

 

-- 查看文件编码

:set fileencoding

:set fileencoding=gbk

 

-- 帮助

:help

:help echo

 

你可能感兴趣的:(vim 基本命令)