程序员的vim
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
程序员的vim的更多相关文章
- vim与程序员 vi/vim 的使用
vim与程序员 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以 ...
- 作为程序员之 Vim(一)
开始使用 Vim(一) vim被称为是编辑器之神,如果可以学好vim的话,就可以在键盘上 “健指如飞” 了,可以完全摆脱鼠标来进行文本的定位编辑. 当然,vim还可以进行各种配置,装上各种插件,做成 ...
- 程序员的编辑器——VIM
from:http://blog.chinaunix.net/uid-11278770-id-148579.html Chinaunix首页 | 论坛 | 认证专区 | 博客 登录 | 注册 ...
- vim配置-程序员【转】
Ubuntu11.10的vim升级后,版本为vi Improved 7.3.154功能很强大了.不过,程序员要根据自己的习惯配置好vimrc文件,是vim更加得心应手. 注:一般用户在自己的当前目录下 ...
- vim与sublime,程序员的屠龙刀和倚天剑
对程序员来说,写代码是再熟悉不过的事情了,windows系统自带有记事本软件,能写写小规模的代码,可是代码量大了,它的局限性就暴露得很明显了:没有语法高亮,没有自动提示,不支持项目管理,界面难看-- ...
- vim与程序员
所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正 ...
- linux 下程序员专用搜索源码用来替代grep的软件ack(后来发现一个更快的: ag), 且有vim插件的
发现一个比ack更快更好用的: https://github.com/ggreer/the_silver_searcher , 使用时命令为ag,它是基于ack的代码二次开发的,所有使用方法基本 ...
- 运维 06 vim与程序员
vim与程序员 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以 ...
- [转]C/C++ 程序员必须收藏的资源大全
from: https://github.com/jobbole/awesome-cpp-cn C++ 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome – XXX 系列 ...
随机推荐
- Python的Turtle绘制纳兹咩的娘口三三
今天看完夏目友人帐的大电影,哭成了泪猴~ 所以我打算用Python画一只娘口三三陪伴在我身边 不过.. 画的太丑,还没上色..,你们可以完善一下~ 代码放在这里了 import turtle as t ...
- 06 PhantomJS浏览器
PhantomtomJS PhantomJS是一款无界面浏览器,其自动化操作流程和谷歌浏览器是一致的.由于是无界面的,为了能够展示自动化操作流程,PhantomJS为用户提供了一个截屏的功能,使用sa ...
- LeetCode(14)Longest Common Prefix
题目 Write a function to find the longest common prefix string amongst an array of strings. 分析 该题目是求一个 ...
- POJ 2631 Roads in the North (求树的直径)
Description Building and maintaining roads among communities in the far North is an expensive busine ...
- Uva 12325 Zombie's Treasure Chest (贪心,分类讨论)
题意: 你有一个体积为N的箱子和两种数量无限的宝物.宝物1的体积为S1,价值为V1:宝物2的体积为S2,价值为V2.输入均为32位带符号的整数.你的任务是最多能装多少价值的宝物? 分析: 分类枚举, ...
- poj2891 Strange Way to Express Integers poj1006 Biorhythms 同余方程组
怎样求同余方程组?如: \[\begin{cases} x \equiv a_1 \pmod {m_1} \\ x \equiv a_2 \pmod {m_2} \\ \cdots \\ x \equ ...
- spring的IOC底层原理
我们调用一个类的方法,首先是User user=new User(),对象调用这个方法,user.add(),这种方法有一个缺陷就是代码的耦合度太高,比如你的servlet调用User类里的方法,需 ...
- python3--产生偏移和元素:enumerate
之前,我们讨论过通过range来产生字符串中元素的偏移值.而不是那些偏移值处的元素.不过,在有些程序中.我们两者都需要,要用的元素以及值个元素的偏移值.从传统意义来讲,这是简单的for循环,他同时也持 ...
- php面向对象(设计模式 工厂模式)
//设计模式//单例模式//类的计划生育//让该类在外界无法造成对象//让外界可以造一个对象,做一个静态方法返回对象//在累里面可以通过静态变量控制返回对象只能有一个 //class Cat//{// ...
- C#中为什么不能再方法里定义静态变量(Static)
c#的静态变量是在对象生成的时候分配内存空间的,而不是函数执行的时候. 如果在函数里定义,那么这个变量就需要在函数执行的时候分配内存空间,这是C#不允许的,至于为什么不允许,个是因为垃圾回收机制的问题 ...