Linux - Vim(Vi-Improved)

Ctrl+s:锁定终端

Ctrl+q:解锁终端



vim安装:

apt-get install vim

// remove、update、install


vim文本编辑器三种状态:

编辑状态 (edit)
插入状态 (insert)
命令行状态 (command)

进入vim:
进入vim后默认是编辑状态,编辑状态可以进行复制、删除、查找等操作;
插入状态才可以进行输入;
命令行方式可以进行替换、保存、退出、设置等操作


退出操作:
w保存文件但不退出vim
w! 强制保存,不退出vim
w file将修改另存到file中,不退出vim
q:不保存文件并退出vim
q!不保存文件并强制退出vim
wq保存文件并退出vim
wq!强制保存文件并退出vim

状态转换:
编辑状态进入插入状态:i I a A o O 掌握i即可
插入状态返回编辑状态:Esc
编辑状态进入命令行状态:冒号:

删除、复制与粘贴(编辑状态下):

删除一行:dd
删除两个单词:d2w
删除n行:dnd  (删除从本行开始向下的n行,包括本行)
复制一行:yy
复制两个单词:y2w
复制n行:yny
粘贴:p(当前行的下一行)P(当前行的上一行)
撤销上一步的操作:u

查找(编辑状态下):

从前(当前位置)往后:/ 待查找的内容(回车)      n继续查找   N反向继续查找

从后往前:?待查找的内容(回车)      n继续查找   N反向继续查找

查找后替换指定内容:

n     下一个

N     上一个

ns + 新内容   : n表示需要替换的字符数

文本替换操作( 可参考文章:*** )

【 命令行模式下 】

/g 参数表示替换某行的所有匹配内容,否则仅替换第一个

:1,$s/aaa/bbb/g

:%s/aaa/bbb

:1,.s/aaa/bbb/g

:.,$s/aaa/bbb



如何从当前位置回到文档开头?跳到文档结尾?

【 编辑模式下 】

gg   (跳转到文档开头)

G    (跳转到文档结尾)

如何逐单词移动?插入i和a的区别?

【 编辑模式下 】

e  (逐单词移动)

a  (在光标后插入)

i   (在光标前插入)

如何在文档中显示行号并跳转到指定行?

【 命令行模式下 】

:set nu

:set number

:set nonu

:set nonumber

:22

在Vim中如何跳转到一行的开头?一行的结尾?

【 编辑模式下 】

0    (跳转行开头)

$$ + 方向键    (跳转行行首/行尾)

撤销操作?

【 编辑模式下 】

u    (操作撤销)

< 解决Xshell - VIM 中小键盘无法使用 >

Linux - Vim(Vi-Improved)_第1张图片



vim配置(.vimrc)

vim /etc/vimrc

set number    "显示行号

set encoding=utf-8   "编码为utf8

"下面三者配合实现Tab=4Blank,二者数值需要保持一致
set shiftwidth=4
set tabstop=4    
set expandtab

 

 

你可能感兴趣的:(Linux)