1,所有的Unix like系统都会内建vi文书编辑器,其他的文书编辑器则不一定会存在,但是目前我们使用比较多的是vim编辑器

vim具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序的设计

2,什么是vim

Vim是从vi发展出来的 一个 文本编辑器,代码补充,编译及错误跳转等方便编程的功能特别的丰富,在程序员中被广泛使用.

简单来说,vi是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方,vi则可以说是程序开发者的意向很好用的工具

3,vi/vim的使用

基本上vi/vim共分为三种模式,人别是命令模式(Command mode),输入模式(Insert mode),和 底部命令模式(Last line mode).

3.1,命令模式:

  • 用户刚刚启动vi/vim,变进入命令模式,此状态下敲击键盘动作会被Vim识别为命令,而非输入字符,比如我们按下i,并不会输入一个字符,i被当做了一个命令
  • 移动光标的相关命令
w(e)    移动光标到下一个单词

b         移动光标到上一个单词

数字0   移动到本行开头

$         移动光标到本行结尾

H        移动光标到屏幕首行

M        移动光标到屏幕中间的一行 

L        移动光标到屏幕的尾行

gg      移动光标到文档的首行 

G        移动光标到文档尾行

ctrl + f   下一页

ctrl + b  上一页
. 移动光标到上一次的修改行
  • 查找
/xuexue      在整篇文档中搜索xuexue字符串,向下查找
?xuexue 在整篇文档中搜索xuexue字符串,向上查找
* 查找整个文档,匹配光标所在的所有 单词,按下n查找 下一处,N上一处
# 查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处 gd 找到光标所在单词 匹配的单词,并停留在非注释的第一个匹配上 % 找到括号的另一半(确定闭合区间)
  • 复制,删除,粘贴
yy         拷贝光标所在行
dd 删除光标所在行
D 删除当前光标到尾行的内容
dG 删除当前行到文档尾部的内容 p 粘贴yy所复制的内容 x 删除光标所在的字符 u 撤销上一步的操作
  • 数字与命令
3yy        拷贝光标所在行以及向下的3行

5dd        删除光标所在行以及向下的5行

输入模式:

在命令模式下,按下字母i(insert),即进入输入的模式,就可以编辑了...

4,底线命令模式

在命令模式下输入冒号(英文的:),就进入了底线命令模式,在底线命令模式下可以输入单或多个字符的命令,常用命令有:

:q!        强制退出
:wq! 强制写入退出
:set nu 显示行号
:数字 调到数字那行 随时按下esc可以退出底线命令模式

5,vim工作模式

vim按键

  • 移动光标
移动光标的方法
h 或 向左箭头(←) 光标向左移动一个字符 j 或 向下箭头(↓) 光标向下移动一个字符 k 或 向上箭头(↑) 光标向上移动一个字符
l 或 向右箭头(→) 光标向右移动一个字符
向下移动5行 5j
向右移动10个字符 10l
n(space) 按下数字n,列如10,然后按下空格,光标会向右移动10个字符
  • 底线命令
:! command       暂时离开vim指令模式,执行command的结果
列如 :!ip a 临时查看一下ip信息,然后可以回到vim :set nu 显示vim行号 :set nonu取消行号

更多的nb的vim用法请看菜鸟教程:http://www.runoob.com/linux/linux-vim.html

最新文章

  1. iOS 删除、重新排序xcdatamodel
  2. 初学者的python学习笔记2
  3. ECS挂载数据盘
  4. display:inline 遇上 li 无效? why?
  5. NYOJ之茵茵的第一课
  6. JAVA字符串转日期或日期转字
  7. JQuery事件的链式写法
  8. 一直纠结中的"底层模板"含义(借鉴)
  9. excel 无法打开文件,提示:向程序发送命令时出现问题
  10. DataGrid( 数据表格) 组件[5]
  11. EXCEL导入GridView,然后再汇入数据库.
  12. Javascript多线程引擎(九)
  13. NOIP2005-普及组复赛-第三题-采药
  14. HDU1171--Big Event in HDU(多重背包)
  15. Myeclipse常见快捷键及配置
  16. UWP Windows历史上最漂亮的UWP框架出炉!!!
  17. 新概念英语(1-135)The latest report
  18. C#与 微信小程序 互为加解密方案
  19. ReactNative 常见红屏黄屏及终端报错
  20. cc攻击和ddos攻击的区别和攻防 + 调SYN连接参数

热门文章

  1. 《算法导论》— Chapter 9 中位数和顺序统计学
  2. STM32定时器的两个小难点
  3. 根据不同的产品id获得不同的下拉选项 (option传多值)
  4. MongoDB中WiredTiger的数据可用性设置
  5. linux shell管道和xargs的区别
  6. python007 Python3 数字(Number)
  7. 【java基础 3】树形结构数据呈现的递归算法实现
  8. 使用dd命令快速生成大文件或者小文件的方法
  9. squid重定向(python 代码)
  10. [luoguP1168]中位数(主席树+离散化)