VIM

练习vim按键的小游戏:http://vim-adventures.com/


一.vi(visual interface)与vim(vi improved)

文本编辑器:

基于命令行:nanovijoe,Emacs

基于视图:geditgeany

 

因为大多Linux都默认安装vi文本编辑器,很多软件的编程接口都会主动调用vi,所以学习vi是必要的。 

vimvi的高级版本,支持语法高亮,即用颜色或底线等方式来显示一些特殊的信息。



二.vi工作模式

三种模式:

一般模式:以vi打开一个文件就直接进入一般模式了。此模式可以:移动光标,删除,复制,粘贴

编辑模式:在一般模式中以i,I,o,O,a,A(插入Insert),r,R(替换Replace)来进入编辑模式。此模式是对文本进行编辑
命令行模式:在一般模式中以‘:’,‘?’,‘/'进入命令行模式。此模式可以读取,保村字符,离开vi。


.按键

一般模式“:
	光标移动
h  /   ←   光标向左移动一个字符
j   /    ↓ 光标向下移动一个字符
k  /    ↑ 光标向上移动一个字符
l   /   → 光标向右移动一个字符
补:
n【hjkl】  : 移动n个字符
eg:20j:光标向左移动20个字符

Ctrl+f      :屏幕向下移动一页(相当于【PAGE DOWN】)
Ctrl+b     :屏幕向上移动一页(相当于【PAGE UP】)

0  /   [HOME]      :数字”0“,移到光标行首
$  /   [END]         :移到光标行尾

G 移动到文件最后一行
NG 移动到第n行
gg 移动到文件第一行(相当于1G)
n 光标向下移动n行

	查找
/word 向下查找名称为word的字符串
?word 向上查找名称为word的字符串
n 重复前一个操作
N 反向重复前一个操作;(/word ,按下N然后向上 查找word字符串)

	替换
:n1,n2s/word1/word2/g :在n1与n2行之间查找word1字符串,用word2字符串替换
:1,$s/word1/word2/g :在第一行与最后一行之间查找word1字符串,用word2字符串替换
:1,$s/word1/word2/gc :在第一行与最后一行之间查找word1字符串,用word2字符串替换,替换之前提示用户是否确认(confirm)替换

	删除
x    /  [DEL] 向后删除一个字符
X   /   [Backspace]     : 向前删除一个字符
nx 向后删除n个字符
dd 删除光标所在行
ndd 删除光标所在的向下n行
d1G 删除光标所在到第一行的数据
dG .....
d$ .....
d0 .....

	复制
yy 复制光标所在的那一行
nyy :     .....
y1G 删除光标所在到第一行的数据
yG .....
y$ .....
y0 .....
	粘贴
p 将已复制的内容粘贴在光标所在的下一行
P 将已复制的内容粘贴在光标所在的一行


	其他
u 复原前一个操作
Ctrl+r 重做上一个操作
. 重复前一个操作

一般模式到编辑模式
i a / o 进入插入模式
r 进入替换模式
【Esc】 退出编辑模式到一般模式


一般模式到命令行模式
:w 将编辑的数据写入到硬盘文件中
:q 退出vi
:q! 不保存退出vi

:wq 保存后退出
:wq! 强制保存后退出

:w 【filename】 另存为文件filename
:r 【fielname】 读入filenaem文件的数据(即将filename的内容加到光标所在行后面)

:set nu 显示行号
:set nonu 不显示行号



四.vim文件的恢复

 当我们在用vim进行编辑时,系统会在被编辑的目录下生成一个.filename.swp的暂存文件。
若正常结束则文件会自动消失,若vim异常中断,则暂存文件会被保留下来。
这个暂存文件保存了你对文件所有的操作。



当再次编辑原文件的时候,会进入如下界面


解决方案如图最后一行所示:
[O](Open Read-Only) : 打开此文件为只读文件
[E](Edit) ; 编辑文件,并不会载入暂存文件
【R】(Recovery) 恢复文件,vim会载入.swp文件的内容。但.swp文件不会自动删除,需要你手动删除,否则每次进去都是提示警告消息。
【Q】 退出
【D】 删除暂存文件



五.块选择(visual Block)

以长方形的形式选择数据,而不是一行一行的选择数据

进入文件后按下
Ctrl+v ;块选择

注意:
首先光标移动到块首,按下Ctrl+v后移动块尾即为选择完毕。
退出直接再按一次Ctrl+v即可。


六.多文件编辑

实现:
vim filename1  filename2  ...
这样就可以实现同时打开多个文件

文件切换:
:n 编辑下一个文件
:N 编辑上一个文件

:files 列出目前所有打开的文件

作用:需要多文件之间进行交互的时候


七.多窗口

实现:
:sp :打开一个新窗口显示此文件
:sp 【filename】 :打开一个新窗口显示文件filename

窗口切换:
Ctrl+w+↓/j 移动到下一个的窗口
Ctrl+w+↑/k 移动到上一个的窗口

:q : 退出

作用:文件数据需要对照时。


八.环境设置

~/.vimrc,~/.viminfo

/etc/vimrc  是整体配置文件,不建议修改。
~/.vimrc  (~代表用户名) 可以配置当前用户vim环境变量;文件默认不存在,需手动创建

~/.viminfo 会记录你所有操作的vim行为。文件自动产生。









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值