vim中移动

  在vim中,提供了很多移动的方式,怎么样更加有效快捷的移动需要长期的实践;那么第一步,就是认识这些命令...

简单移动
k     上
j     下
h     左
l     右

  可以在命令前写数字 比如 10j 则相当于按10下j的效果

按单词移动
w     将光标移动到下一个word的首字符上
b     将光标向后移动到前一个word的首字符上
e     将光标移动到word的最后一个字符上
ge     将光标移动到上一个word的最后一个字符上
移动到行首行尾
$     将光标移动到当前行行尾 对应键盘上的键
^     将光标移动到当前行的第一个非空白字符上
0     将光标移动到当前行的第一个字符上    对应 键 

  1$表示移动到当前行的行尾 10$表示移动到下9行的行尾,0命令之前不可以加数字 因为0本身就是数字了

移动到指定的字符上
fx     将光标移动到第一个x上 如 fh 表示移动到第一个h上
Fx     fx 的反向操作向左搜索移动到第一个x字符上
tx     类似f搜索,不过光标是停留在被搜索的字符之前的一个字符上
Tx     tx 的反向操作 向左搜索
 =========================示例=========================
 public class void main(String[] args)
 ----->-------->
  fc      fo
 public class void main(String[] args)
 ----->-------->
  tc      to
 To err is human. To really foul up you need a computer.
 ------------------------------>
              3fl
 To err is human. To really foul up you need a computer.
 ------------------------------>
              3tl
按括号跳转
%     跳转到匹配的括号,如果光标在 ( 上 按 % 就会跳转到对应的 ) 上

  同样适用于 [] {} 可以用 :set matchpairs 显示可以匹配的括号, 如果当前光标并没有停留在一个可用的括号字符上,%会向前找到第一个括号,然后找到与它匹配的括号

跳转到指定行
nG     跳转到第n行 n为行号
G     跳转到整个文章的最后一行
gg     跳转到整个文章的第一行
H     跳转到屏幕上第一行 Home
L     跳转到屏幕上最后一行 Last
M     跳转到屏幕中间行 Middle
n%     跳转到文章百分比的位置 

  100% 跳转到文章最后一行 和G一样效果 50% 跳转到文章中间行

翻页、滚屏
CTRL-U     文本向下滚动半屏 即你可以看到屏幕上半屏的内容了
CTRL-D     文本向上滚动半屏
CTRL-E     文本向上滚动一行
CTRL-Y     文本向下滚动一行 windows没效果
CTRL-F     文本向上滚动一屏 你可以看到下一个屏幕的内容
CTRL-B     文本向下滚动一屏 可以看上一个屏幕的内容
zz     将当前光标所在行移动到屏幕中间,不是修改文档内容,是整个文档移动
zt     将当前光标所在行移动到屏幕顶端
zb     将当前光标所在行移动到屏幕底端
简单搜索
/string     用于搜索一个字符串
?string     反向搜索一个字符串
n     在搜索出的结果中跳转
N     在搜索的结果中反向跳转

*     全文搜索光标所在单词
#     * 的反向搜索

比如要搜索一个字符串 public 输入命令 /public 按回车 就会找到文章中所有的public, 然后按字母n 就可以跳转到下一个位置 N则跳转到上一个位置。

如果搜索的时候需要忽略大小写,可以输入 :set ignorecase 设置, 如果再次搜索 public 就会同时匹配 Public和public,要回到大小写精确匹配,可以输入 :set noignorecase

如果已经搜索过了, 取消搜索怎么办?很简单,搜索一个文件中不存在的字符就可以了^_^

按标记跳转
``     跳转到上次所在位置
CTRL-O     跳转到更早些停止光标的位置
CTRL-I     跳回到后来停止光标的位置

mx     当前位置定义为 x 标记, 可以使用 `x 跳回来 

  mx中x表示a-z之间的任意字母,意思是可以定义26出标记,如果在当前位置输入 me , 以后不论在页面任何位置, 只要按下 `e 就会跳回到定位为 e 的标记的位置。可以输入 :marks 查看标记列表。

时间: 2024-09-29 23:42:00

vim中移动的相关文章

在 Vim 中设置 Tab 为4个空格

缩进用 tab 制表符还是空格,这不是个问题,就像 python 用四个空格来缩进一样,这是要看个人喜好的.在 Vim 中可以很方便的根据不同的文件类型来设置使用 tab 制表符或者空格,还可以设置长度,非常灵活. 首先来看如何设定 tab 的宽度以及如何确定用 tab 制表符还是空格来表示一个缩进: set tabstop=4 set softtabstop=4 set shiftwidth=4 set noexpandtab / expandtab 说明: 其中 tabstop 表示一个 t

转:在VIM中保存编辑过的只读文件

你是否会和我一样经常碰到这样的情景:在VIM中编辑了一个系统配置文件,当需要保存时才发现当前的用户对该文件没有写入的权限.如果已 经做了很多修改,放弃保存的确很懊恼,只好先保存在用户的主目录下,再用sudo mv移动到文件的原始位置,并按需要chown.这样做实在太麻烦了,以下的这个技巧就太方便了.当需要保存时,输入以下的命令: :w !sudo tee %

Vim中的Tab

Tab和缩进不是一回事. Tab是一个字符(制表符),其显示宽度可定义.可更改Tab键的映射关系,将其设置成n个空格,n由Tab自身宽度决定.缩进指的是一个概念,在Vim中可由>和<键控制增加和减少缩进量,缩进的填充单元可以是制表符也可以是空格,由expandtab的状态确定(noexpandtab/expandtab).一次“>”操作产生的缩进量可自定义,与制表符宽度不一定要一致. 以下是Vim相应的设置命令: set expandtab 更改tab映射为空格 set tabstop=

Vim 中文件目录浏览插件——NERD tree

说明 :vim的插件NERDTree用于使得vim窗口分左右窗口显示的用法说明.其中,左侧为目录的树形界面,简称为NERDTree界面,右则为vim界面. 一.配置步骤 下载地址: http://www.vim.org/scripts/script.php?script_id=1658 或者 http://download.csdn.net/detail/caoyingsdhzcx/5752889 树形目录插件NERDTree的安装方法,如下: 1. 在当前用户文件夹(例如simpman)下,建

老男孩教育每日一题-2017-05-15-说说你在vi/vim中常用的命令或快捷键

1.题目 2.参考答案 01:学会在vim中查询帮助 :help 或:h即可 :help G :help :wq 02.vi/vim 使用最基本方法 第一个里程碑-使用vi打开oldboy.txtvi /data/oldboy.txt默认是命令模式.第二个里程碑i  ->insert插入模式(编辑模式)  ->然后输入文本I am studying linux.第三个里程碑-按esc键我不想编辑了,退出编辑模式(插入模式),再次进入到命令模式第四个里程碑-保存并退出:wqw write 写入q

解决vi/vim中粘贴会在行首多很多缩进和空格的问题

解决vi/vim中粘贴会在行首多很多缩进和空格的问题 secureCRT会将你原来的文本原封不动的按照字符串的样式发送给服务器.所以当你的服务器上的vim设置为autoindent的话,在i模式下,那么它会将secureCRT传输而来的这些字符串再进行一下缩进.若你拷贝的文本中已经有表示缩进的空格或者制表符的话,它们也会被当成字符串,而被缩进.解决办法:1. 在拷贝前输入:set paste (这样的话,vim就不会启动自动缩进,而只是纯拷贝粘贴)2. 拷贝完成之后,输入:set nopaste

vim中.swp文件处理

参考: http://blog.csdn.net/lingdxuyan/article/details/4993868 http://www.cnblogs.com/softwaretesting/archive/2011/09/23/2185851.html 关于swp文件 使用vi,经常可以看到.swp这个文件,那这个文件是怎么产生的呢,当你打开一个文件,vi就会生成这么一个.(filename)swp文件 以备不测(不测下面讨论),如果你正常退出,那么这个这个swp文件将会自动删除 . 不

vim中的分屏

Linux中的vim是vi的增强版.需要自己下载安装.安装后vim支持自己配置和各种插件.有时候我们看源码需要同时看.h和.c文件.来回切换很难受.vim支持分屏.及将屏幕分成若干块. 上下分屏:在命令行输入sp回车 左右分屏:vsp.每个分屏后的窗口中可以继续进行上下和左右分屏. 上下分屏命令后面可以接文件名,打开指定的文件. 光标在所分的屏幕中的移动:vim中支持h,j,k,l四个键来移动光标.光标在分屏窗口中切换需要先按ctrl+w 然后按h,j,k,l来切换. 退出光标所在的分屏:ctr

(转)xshell无法在vim中复制黏贴

ssh xshell 连接在vim中无法用 ctrl+insert 复制黏贴 修改.vimrc set mouse=c vi的三种模式:命令模式,插入模式,可视模式.鼠标可以启动于各种模式中: The mouse can be enabled for different modes: n Normal mode v Visual mode i Insert mode c Command-line mode h all previous modes when editing a help file

vim中自动添加注释 添加文本信息

工欲善其事,必先利其器.在开发过程中,方便.快捷的开发环境,能提高工作效率:优美的界面能让我们心情愉悦:最重要的是,能保持我们在外行严重高深莫测的牛逼~ 如果在创建新的源程序文件时希望能自动产生一些注释,比如作者.创建日期,联系方式等,可以这样做: 编辑~/.vimrc 文件,加入代码: autocmd BufNewFile *.[ch],*.hpp,*.cpp exec ":call SetTitle()" func SetComment() call setline(1,"