每日一Vim(1)
上一篇讲过了Vim的基本操作命令(打开,编辑,保存退出)以及Vim的三种基本模式和光标的基本导航(hjkl),今天讲一些稍微高级点的光标移动,以及一些基本的文本操作命令。
翻一页/半页
对于一个上千行的文本,如果想光标移动几行或翻页查看,hjkl无疑没法满足我们的需求,如果我们结合CTRL键操作的话,翻页时很轻松的事儿。
CTRL+f:向下翻一页
CTRL+b:向上翻一页
CTRL+d:向下翻半页
CTRL+u:向上翻半页
当然我们只要记住fbdu四个键就行,反正他们是用来与CTRL键组合翻页功能的,具体怎么翻的,自己实践操作几遍就能记住了。
光标一次移动一个单词的长度
w:移动到下一个单词的起始处(既然是w,代表的意思就是word,好记吧)
W:移动到下一个单词的起始处
那么w和W它俩有什么区别呢,w会把一个单词理解成由连续的字母或数字或特殊字符,而W却以空格来识别是否到了下一个单词,一图胜千言

与之相反的两个操作时b和B
b:移动到前一个单词的起始处
B:移动到前一个单词的起始处(b和B的区别与w和W是同理的)
光标在一行内的移动
0(零):移动到行首
$:移动到行未
^:移动到当前行的第一个非空字符处(如果该行首没有空格,那么效果与0是一样的)
g_:移动到当前行的最后一个非空格字符处
插入,追加字符
i:在当前光标位置插入字符
o:在当前行往下插入新的一空行
O:在当前行往上插入新的一空行
a:在当前光标后追加字符
R:替换当前光标的字符直到推出插入模式(按ESC)
:r filename:把文件名为filename的内容插入当当前行的下一行
:r! command:把command返回的结果插入到当前行的下一行
拷贝一个单词、行首、行尾、整行
yw:拷贝当前的一个单词
y0:拷贝的范围是当前光标处到行首
y$:拷贝的范围是当前光标处到行尾
yy:拷贝当前行
nyy:从当前行开始拷贝n行(这里的n是数字)
拷贝完后用p就可以粘贴了。
删除一个单词,行首、行尾、整行
x:删除当前光标处字符(严格来说x不属于插入,因为你还要按i才能插入)
dw:删除当前光标出一个单词
d0:删除光标处到行首的字符
d$:删除光标处到行尾的字符
dd:删除整行
ndd:删除n行(同样n代表数字)
每日一Vim(1)的更多相关文章
- VIm 一些常用的设置
一些常用的vim设置 以下内容皆来源于网络,感谢原作者.如果引用出处错误,请告知以便修改. 1. vim的几种模式和按键映射 转载自:[1] Map是Vim强大的一个重要原因,可以自定义各种快捷键 ...
- 一些常用的vim设置
以下内容皆来源于网络,感谢原作者.如果引用出处错误,请告知以便修改. 1. vim的几种模式和按键映射 转载自:[1] Map是Vim强大的一个重要原因,可以自定义各种快捷键,用起来自然得心应手.vi ...
- Vim技巧----选取一个单词
viw 它的作用是选取一个单词(word),无论光标在这个单词的哪个位置都能选中整个单词. 每日一Vim(18)Text-Object 前两节讲了Visual mode相关内容,这里提一个小问题,“如 ...
- 收藏的技术文章链接(ubuntu,python,android等)
我的收藏 他山之石,可以攻玉 转载请注明出处:https://ahangchen.gitbooks.io/windy-afternoon/content/ 开发过程中收藏在Chrome书签栏里的技术文 ...
- 每日vim插件--vim中的文本对象及相关插件
最近在个人博客上 http://foocoder.com 每天都会介绍一个vim插件,想起来园子也好久没更新了,也来更新一篇. 今天按读者留言的要求,介绍下文本对象.同时还会介绍我在用的几个文本相关 ...
- 2018/03/07 每日一个Linux命令 之 cat
每日一个Linux命令 2018-03-07 Linux 命令 cat cat [-参数] fileName 在之前的Linux使用中 cat 命令一直作为文本输出指令来使用,很少可以深入学习的该命令 ...
- vim资源帖
vimscript教程 http://learnvimscriptthehardway.stevelosh.com/ 阿信的vimscript http://www.axiaoxin.com/arti ...
- 老男孩IT教育-每日一题汇总
老男孩IT教育-每日一题汇总 第几天 第几周 日期 快速访问链接 第123天 第二十五周 2017年8月25日 出现Swap file….already exists以下错误如何解决? 第122天 2 ...
- Vim 入门教程
Vim 入门教程 转载请保留以上信息 Vim 的教程相对比较零散,系统的教程比较少,我也阅读过不少教程,走过很 多弯路.借着 Vim-china 组织组建这一契机,整理下自己学习过的内容, 分享给大家 ...
随机推荐
- finish/onDestroy/System.exit()的区别
Activity.finish():Call this when your activity is done and should be closed. 在你的activity动作完成的时候,或者Ac ...
- [CF626F]Group Projects
[CF626F]Group Projects 题目大意: 有一个长度为\(n(n\le200)\)的数列\(\{A_i\}\),将其划分成若干个子集,每个子集贡献为子集\(\max-\min\).求子 ...
- 【BZOJ】2653: middle
2653: middle Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 2381 Solved: 1340[Submit][Status][Disc ...
- HDU 5673 Robot 数学
Robot 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5673 Description There is a robot on the origi ...
- Codeforces Round #304 (Div. 2) C. Soldier and Cards 水题
C. Soldier and Cards Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/546 ...
- Linux可以明文传输密码的工具sshpass
普通ssh只能手动输入密码,但是sshpass可以明文指定密码,但不建议使用,太不安全了.
- CDMA,GPRS,3G有什么区别
1 CDMA: 我们常说的CDMA 是IS-95A CDMA的简称 ,属于第二代通信技术(2G)的一种,属于北美的技术.另一种技术是GSM,属于欧洲的技术.这两种实现的原理不同,各有各的优点: 2 G ...
- End of Life check fails with NullPointerException
Checks if the running version of JIRA is approaching, or has reached End of Life. Details Type: Bug ...
- FIS3使用官方例子流程
fis3 的常用例子:https://github.com/fex-team/fis3-demo git链接可在页面中获取替换下面的git链接: 例子准备: git clone https://git ...
- GO语言 -- 调用DLL函数,填平所有的坑,最详尽攻略
编译dll文件(源代码c++):g++ -shared main.cpp -o test.dll set GOARCH=386 第一个DLL函数,第一个参数,要求传入一个指针,直接指向[]byte类型 ...