vi常用(收藏)

上一篇 / 下一篇  2011-12-29 11:52:05 / 个人分类:others

文本编辑器 
vi 
vim (vi improved
Emacs 适合小型机、工作站、大型机

vim 
模式化编辑器:
1. 插入模式(输入模式)
 2.命令模式(编辑模式)
 3.末行模式
 
vim 如何打开文件
 vim  FILE 
 vim +n FILE 进入直接定位到第n行行首
 vim +/PATTERN file 直接定位到字符第一次出现的位置

vim 如何关闭
:wq 保存退出
:q!不保存退出
:q 无修改退出

:w!强制保存


切换模式
2-->1
a 定位到光标所在字符后面
i  定位到光标所在字符前面
o 定位在光标下行,并打开空白行
A 定位在光标行尾
I  定位在光标行首
O 定位在光标所在行上行,并打开空白行

1-->2
Esc最好两次
2-->3
输入‘:’进入末行模式
3-->2
ESC 最好两次

光标移动:
h左、j下、k上、l右

移动跳过单词
w 快速后一个单词的词首
e 先到自己的词尾或下一个单词的词尾
b 先到自己的词首或到上一个单词的词首

行首:
^ 行首第一个非空白
0 绝对行首
 :  行尾
$ 绝对行尾

行间:
G跳到文件尾部
nG跳到第n行
:n 快速跳转第n行


翻屏(页)
Ctrl+f 往尾部翻一屏
Ctrl+b 往首部
Ctrl+u 往首部翻半屏
Ctrl+d 往尾部翻


编辑:
x 删除当前光标所在处的字符
5x 删除往后5个字符

d 删除命令
dd 删除光标所在的行 同剪切
ndd 删除光标所在行一直向下的n行

末行删除:
地址定键符
ADDR1,ADDR8d
:1,8d 删除从一到8行

:8d 删除第8行

.:表示当前行
$  :最后一行
.,$-1 :当前行到倒数第二行

 

改写:

cc 删除光标所在行 并转换至输入模式
ncc 下n行


复制
y
yy

粘贴:
p 整行,所在行下行
P 整行,所在行上行


撤销命令:
u (undo)
u撤销上一次的操作(默认50次)
U撤销缓存区内所有的操作

撤销上次撤销操作
Crtl+r
重复上次的操作
.
可视化模式
v按字符选中
V按行选中


如何一次打开多个文件
vim FILE1 FILE2 FILE3
默认在第一个文件
在末行模式
:next下一个
:last最后一个
:prev 上一个
:first第一个

分屏
多个文件
vim -o 上下拆分
Crtl +w arrow 跳屏
          
vim-O 左右拆分


对一个文件
Crtl+w,s 水平拆分
Crtl+w ,v 垂直拆分

设置vim的工作特征
set nu 显示行号,只对当前有效
:set nonu 不显示行号

定义是否缩进
:set ai 自动缩进
:set noai 取消自动缩进

语法高亮
:syntax on
:syntax off

只对当前有效

全局配置
/etc/vimrc
个人配置
/etc/.vimrc

收缩具体特定特征的字符串
/PaTTern  向下
?PaTTern 向上
支持正则表达式


查找并替换
在末行模式下使用s命令
:ADDR1,ADDR2s/PATTERN/string/gi
g(global)全局修改,同时把当前行内再次出现的替换
i(ignore-case)不区分大小写
% ==1$ 全文

:r  替换命令

脚本编程:
命令或脚本的退出状态
0-255
正确 0
失败 1-255

 

$?(特殊变量)

命令错误

如何让自己定义退出码:
exit n(0-255) 定义脚本的错误码是

 

表达式之间的逻辑关系:
 !expreession
expreession &&expreession 逻辑与
短路操作
expreession ||expreession 逻辑或


TAG:

 

评分:0

我来说两句

Open Toolbar