VIM移动
VIM移动
断断续续的使用VIM也一年了,会的始终都是那么几个命令,效率极低
前几个星期把Windows换成了Linux Mint,基本上也稳定了下来
就今晚,我已经下定决心开始新的VIM之旅,顺便写一系列的笔记和总结
还是那句话,我只是个新人,代码也没写过多少行,但我一直在默默努力自学着
所以,还请老鸟们看看笑笑就行了,不要鄙视我,我很脆弱……
这是俺写的《轻快的VIM系列》第一节,每一节都会不断更新,加入更多技巧在里面
VIM新手们加油,咱一起总结,一起努力练习……
基础
字符移动
k 上移 k h 左移 h l l 右移 j j 下移
你也可以使用键盘上的方向键来移动,但这么做h j k l的存在就失去了意义
之所以使用h j k l来控制方向,其主要目的是让你的手不离开键盘中心,从而提高效率
tips:在命令前加上数字代表命令执行次数,如:5k,表示上移5行
单词移动
W w 移动到下一个单词开头 E e 移动到下一个单词结尾 B b 倒退到上一个单词开头
需要注意的是,E会忽略标点符号,如:I‘m,e会当成两个单词,E则不会
同样,在命令前加上数字代表执行次数,如:2w,表示往下移动2个单词
开头我也许会多说几遍,因为这个技巧很重要
整行移动
0 移动到行首 $ 移动到行末 + 移动到下一行开头 - 移动到上一行开头
这里需要注意的是+ -和上面的j k有什么不同之处
j k也是移动到上一行和下一行,但它们移动的是光标所在的位置
+ -不管你的光标在何处,总是移动到下一行或上一行的行首
进阶
滚屏

Ctrl+f 往前滚动一整屏 Ctrl+b 往后滚动一整屏 Ctrl+d 往前滚动半屏 Ctrl+u 往后滚动半屏 Ctrl+e 往后滚动一行 Ctrl+y 往前滚动一行

看似比较多,但是可以根据键盘的位置来进行记忆,并且下面两个也不常用
上面的滚屏都有一个共同点,就是会改变光标的位置,且屏幕也在改变
如果想让光标维持在原来的位置实现滚屏请看下面
用z调整光标
z<Enter> 将光标所在行移动到屏幕顶端 z. 将光标所在行移动到屏幕中间 z- 将光标所在行移动到屏幕低端
tips:980z<Enter>可以将第980行移动到屏幕顶端
好吧,有时候你其实不想滚屏,你只想在当前屏幕中移动
请往下看
在屏幕中移动
H 移动到屏幕顶端的行 M 移动到屏幕中央的行 L 移动到屏幕底端的行 nH 移动到屏幕顶端往下的第n行 nL 移动到屏幕顶端往上的第n行
据我猜测这三个字母应该是HIgh、Middle和Low的缩写,其实挺好记的
多练习几遍就行了,需要注意的是:这里只是光标的位置变化,和上面两种不同
tips:你可以用+ -和j k实现同样的位置变化,只不过要操作多次而已
+ -和j k的区别忘了吗?往上看看吧
在当前行移动
^ 移动到当前行的第一个非空格处 n| 移动到当前行的第n列
这里的^与上面的0通常情况下表示的位置是一样的
而n|,个人感觉还没有h l方便,慢慢的数出行数还不如直接按着h l 左右移
根据文本块移动
所谓的文本块也就是句子、段落、小节等
( 移动到当前句子开头 ) 移动到下一个句子开头 { 移动到当前这一段开头 } 移动到下一段开头 [[ 移动到当前这一节的开头 ]] 移动到下一节的开头
其中,VIM以? . !等符号来标记一个句子
空白行来标记一个段落
用节宏来标记一个节(节宏是什么我还没搞清楚)
根据行号来移动
Ctrl+g 显示当前行信息 nG 转至第n行 G 转至文本末尾gg 移至文本开头
如果你不知道当前是多少行的话就可以用Ctrl+g来查看
如果想转到第800行,可以用800G
其实z命令也可以做到,并且把光标移动到第一行
tips:``反引号可以返回到使用G之前的位置
VIM移动的更多相关文章
- 如何创建Vim Dotfile?
Dotfile是电脑系统里的隐藏文件,它是专门给更高级的用户,如开发者.程序员或工程师使用的,让他们用来调整系统.如何创建Vim-Dotfile? 可以参考以下步骤: 1. 首先,你要检查一下.vim ...
- 玩转Vim 编辑器
一:VIM快速入门 1.vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数 ...
- vim安装中文帮助手册
安装方法: 在下面的网站下载中文帮助的文件包:$wget http://nchc.dl.sourceforge.net/sourceforge/vimcdoc/vimcdoc-1.5.0.tar. ...
- vim环境变量配置、背景色配置
我们使用vi或者vim的时候,如果想要显示行号,可能会这样做:切换到命令模式,然后输入set nu,再按回车键就显示了:还有就是咱们在编写程序的时候,有的时候会希望按下回车键后,光标不是每次都在行首, ...
- vim+vundle配置
Linux环境下写代码虽然没有IDE,但通过给vim配置几个插件也足够好用.一般常用的插件主要包括几类,查找文件,查找符号的定义或者声明(函数,变量等)以及自动补全功能.一般流程都是下载需要的工具,然 ...
- 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)
vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...
- VIM教程
vim 的环境设定参数 :set nu :set nonu 就是设定与取消行号啊! :set hlsearch :set nohlsearch hlsearch 就是 ...
- 在 Linux 打造属于自己的 Vim
Linux 系统中很多东西都是以脚本代码.配置文件的形式存在,使用 Linux 系统时,需经常对这些文件进行编辑.很显然,如果没有文本编辑器,江湖之路寸步难行. 我的选择是 Vim.Vim 是 Lin ...
- 感悟 GNU C 以及将 Vim 打造成 C/C++ 的半自动化 IDE
C 语言在 Linux 系统中的重要性自然是无与伦比.不可替代,所以我写 Linux 江湖系列不可能不提 C 语言.C 语言是我的启蒙语言,感谢 C 语言带领我进入了程序世界.虽然现在不靠它吃饭,但是 ...
- Vim新手入门资料和一些Vim实用小技巧
一些网络上质量较高的Vim资料 从我07年接触Vim以来,已经过去了8个年头,期间看过很多的Vim文章,我自己觉得非常不错,而且创作时间也比较近的文章有如下这些. Vim入门 目前为阿里巴巴高级技术专 ...
随机推荐
- 在线最优化求解(Online Optimization)之五:FTRL
在线最优化求解(Online Optimization)之五:FTRL 在上一篇博文中中我们从原理上定性比较了L1-FOBOS和L1-RDA在稀疏性上的表现.有实验证明,L1-FOBOS这一类基于梯度 ...
- 引擎设计跟踪(九.14.2h) 开发计划
以后的开发计划: 完善game runtime code, 跑简单的demo目前只有编辑器的运行流程, 没有游戏/demo流程, 图形的测试主要在编辑器上测试, 现在需要测试android系统的图形, ...
- 关于gzip压缩
关于gzip压缩 http://httpd.apache.org/docs/2.0/mod/mod_deflate.html http://www.phpchina.com/resource/manu ...
- ibatis的iterate使用
Iterate:这属性遍历整个集合,并为 List 集合中的元素重复元素体的内容. Iterate 的属性: prepend - 可被覆盖的 SQL 语句组成部分,添加在语句的前面(可选 ...
- JSONObject 包的依赖
commons-lang.jar commons-beanutils.jar commons-collections.jar commons-logging.jar ezmorph.jar json- ...
- URAL 1152. False Mirrors (记忆化搜索 状压DP)
题目链接 题意 : 每一颗子弹破坏了三个邻近的阳台.(第N个阳台是与第1个相邻)射击后后的生存的怪物都对主角造成伤害- 如此,直到所有的怪物被消灭,求怎样射击才能受到最少伤害. 思路 : 状压,数据不 ...
- poj 2311 Cutting Game 博弈论
思路:求SG函数!! 代码如下: #include<iostream> #include<cstdio> #include<cmath> #include<c ...
- hdu 3092 Least common multiple
思路: 容易知道,分解成素数的lcm肯定是最大的,因为假设分解成2个合数,设定x为他们的 最大公约数, 那么他们的最小公倍数就要减少x倍了 然后如果是素数之间的最小公倍数,那么就只是他们的乘积,同样的 ...
- 编程实现LINUX下目录的层层遍历
/************************************************************************* > File Name: treedir.c ...
- linux read命令详解
read命令从键盘读取变量的值,通常用在shell脚本中与用户进行交互的场合.该命令可以一次读取多个变量的值,变量和输入的值都需要使用空格隔开. 语法 read(选项)(参数) 选项 -p:指定读取值 ...