vi

安装vim

Ubuntu默认安装的是轻量的vim所以即便打开的页面差不多,但是使用起来简直和vi一样不好用,所以,请务必$sudo apt-get install vim一下

打开vim

$vi filename

如果文件路径不存在,则使用vi在相应路径创建文件,

如果文件路径已存在,则使用vi打开该文件

如果缺省文件路径,则表示在当前目录下创建一个文件,可以创建完再进入ExMode使用:file file_name命名。

打开时光标会自动在第一行开头

$vi +n filename打开文件时光标在指定行的开头
$vi + filename打开文件时光标在最后一行开头

vim四种模式

Vim只能在terminal中使用,有四种工作模式,一种工作模式对应一组功能,所以,任何时候只能处于一种工作模式下
NormalMode 下可以 执行简单命令,刚刚启动vim的时候就处于该模式
InsertMode 下可以 修改文字内容,在NormalMode下按i等进入,按ESC退出该模式至NormalMode
ExMode 下可以 执行复杂命令,在NormalMode下按:进入,使用完自动退出该模式至NormalMode
VisualMode 下可以 进行选区并编辑,在NormalMode下按v进入逐个字符选择,按V进入逐行选择,按Ctrl+v进入块选择,使用完自动退出该模式至NormalMode

vim命令

在文件中移动光标

h :向左移动一个字符
l :向右移动一个字符
j :向下移动一行
k :向上移动一行
^ :移动到当前行的开头处
$ :移动到当前行的结尾处
H :使光标移动到屏幕的顶部
M :使光标移动到屏幕的中间
L :使光标移动到屏幕的底部
Ctrl+b :上滚一屏。
Ctrl+f :下滚一屏。
Ctrl+d :下滚半屏。
Ctrl+u :上滚半屏。

撤销与重复

u :撤销
U :撤销对一行的修改(仅在光标还在该行才有效)
CTRL+r:撤销修改
. :重复某个命令

复制剪切粘贴

Vim里没有删除,剪切了不粘贴就是"删除"
yy :复制一行到剪贴板
x :剪切光标所在字符
X :剪切左侧字符(和直接在InsertMode里按Backspace一样,主要用于进入ExMode后的剪切,此时为了删除一个字符退回InsertMode很麻烦)
dd :剪切一行
ndd :剪切多行
dw :剪切一个词(以 ;,+等符号区分)的“光标所在 ”部分
D :剪切一行的“光标所在” 部分
d0 :剪切一行的“<光标所在”部分
dG :剪切整个文件的“光标所在行”部分
p :粘贴剪贴板的内容

查找

/ :查找</>后的要查找的字符串
n :跳转到该串的下一个出现处
N :跳转到该串的上一个出现处

插入文本

a :在光标的右边插入文本
A :在一行的结尾处添加文本
i :在光标的左边插入文本
I :在行首插入文本
o :在当前光标位置下面打开一行
O :在当前光标位置上面打开一行

替换

:s/old/new :替换该行第一个“old”为“new”
:s/old/new/g :替换该行所有的“old”为“new”
:#,#s/old/new/g :替换两行内所有的“old”为“new”
:%s/old/new/g :替换文件内所有的“old”为“new”
:%s/old/new/gc :替换文件内所有的“old”为“new”时逐项向用户确认待替换项
:noh:取消选中状态

简单设置vi

:set nu(mber) :显示行号
:set nonu(mber) :取消显示行号
:set showmode :显示用户模式
:set readonly :设置文件只读

片选并编辑

v :按字符选
V :按行选
Ctrl v:按块选
y :复制选区
d :剪切选区
p :粘贴选区

保存与退出

shift+zz :保存 退出
:wq :保存 退出
:w :保存 不退出
:q! :不保存 退出
! :强制退出

垂直分屏

$vi -On filename_1 filename_2 filename_3
:vsp filename2
Ctrl+w+w切换编辑的区域

高亮

gd :高亮当前单词

进制查看

:%!xxd将当前文本转换为16进制格式。
:%!od 将当前文本转换为16进制格式。
:%!xxd -c 12将当前文本转换为16进制格式,并每行显示12个字节。
:%!xxd -r 将当前文件转换回文本格式

posted @ 2016-09-13 12:16  Abnor  阅读(221)  评论(0编辑  收藏  举报