`
iamxi
  • 浏览: 192193 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

大家來學VIM(一個歷久彌新的編輯器)[二]

 
阅读更多

游標的移動

本節所述皆是在 common-mode(c-mode,在 vim 又名 normal-mode)下的移動,原始的 vi 只能在 c-mode 移動游標,在 insert-mode 只做文字的輸入,而不做游標的移動。當然 vim 及 elvis 的方向鍵是不論在那一種 mode 皆可移動自如。

 

 

基本的游標移動

h  左,或 Backspace 或方向鍵
j  下,或 Enter 或 +(要 Shift 鍵),或方向鍵
k  上,或 方向鍵或 -(不必 Shift 鍵)
l  右,或 Space 或方向鍵

  • 使用 hjkl 鍵的移動是為了使手不必離開打字區(鍵盤中央的部位),以加快打字的速度,如果各位不習慣,那就使用方向鍵吧!
  • Backspace 及 Space 的移動方式是到了行首或行尾時會折行,但方向鍵或 hl 鍵的移動則在行首或行尾時您繼續按也不會折行。轉折換行的功能是 vim 的擴充功能,elvis 無此功能。
  • jk 及使用方向鍵的上下移動游標會盡量保持在同一欄位。使用 Enter,+,- 的上下移動,游標會移至上(下)一行的第一個非空白字元處。
  • 好像有點複雜,各位就暫時使用方向鍵來移動就簡單明白了!等您愛上了 vim 後再來講究吧。

 

Ctrl-f    即 PageDown 翻頁。
Crtl-b    即 PageUp 翻頁。

 

 

進階的游標移動

0  是數目字 0 而不是英文字母 o。或是 Hmoe 鍵,移至行首,
   (含空白字元)。
^  移至第一個非空白字元,注意,要 Shift 鍵。
$  移至行尾,或 End 鍵。要 Shift 鍵。

  • 以上兩個按鍵是源自規則表示式(regular expression),在 regexp 中 ^ 是匹配行首,$ 是匹配行尾。

 

G  移至檔尾(最後一行的第一個非空白字元處)
gg 移至檔首(第一行之第一個非空白字元處)

  • gg 是 vim 的擴充功能,在 elvis 或原始 vi 中可用 1G 來移至檔首(是數字 1 不是英文字 l)。
  • G 之原意是 goto,指移至指定數目行之行首,如不指定數目,則預設是最後一行。

 

w  移至次一個字(word)字首。當然是指英文單字。
W  同上,但會忽略一些標點符號。
e  移至前一個字字尾。
E  同上,但會忽略一些標點符號。
b  移至前一個字字首。
B  同上,但會忽略一些標點符號。
H  移至螢幕頂第一個非空白字元。
M  移至螢幕中間第一個非空白字元。
L  移至螢幕底第一個非空白字元。

  • 這和 PageDown,PageUp 不一樣,內文內容並未動,只是游標在動而已。

 

n| 移至第 n 個字元(欄)處。注意,要用 Shift 鍵。n 是從頭起
   算的。
:n 移至第 n 行行首。或 nG。

 


特殊的移動

)  移至下一個句子(sentence)首。
(  移至上一個句子(sentence)首。
}  移至下一個段落(paragraph)首。
{  移至上一個段落(paragraph)首。

  • sentence 是以 . ! ? 為區格。
  • paragraph 是以空白行為區格。

 

%  這是匹配 {},[],() 用的,例如您的游標現在在 { 上
   只要按 %,就會跑到相匹配的 } 上。寫程式時滿好用的。

 

另還有一些 vim 的特殊按鍵,但這得留待最後才來講述,否則各位恐怕會頭昏眼花了。

分享到:
评论

相关推荐

    vim帮助文档-大家来学VIM(一个历久弥新的编辑器)

    大家来学VIM(一个历久弥新的编辑器)[一] 前言 监於仍有许多人还没找到顺手的编辑器,而许多想学 vi 的人又觉得无从下手,因此在此提出一些个人的心得,希望能对这些朋友有点帮助。或许也减少一点 FAQ 吧! ...

    学习vi和vim编辑器_第7版_中文+英文_PDF

    《学习vi和Vim编辑器(中文版第7版)》将说明使用这两种程序编辑文档的基础技巧,并讨论高级工具,例如交互式宏与扩展编辑器的脚本——我们的内容编写成容易遵循步骤操作的风格,成就本书的经典地位。读者将学到: ·...

    大家来学Vim.pdf

    通过以上对《大家来学Vim》核心知识点的详细解析,我们可以看到VIM不仅是一款文本编辑器,更是一个功能完备、高度可定制的开发工具。掌握VIM将极大提升文本处理和编程效率,是每个IT专业人士必备的技能之一。

    《大家来学vim》-李果正

    Vim,全称Vi Improved,是从早期的Vi编辑器发展而来的一个高度可定制且功能丰富的文本编辑器,广泛应用于Linux、Unix和类Unix系统中,同时也支持Windows平台。 1. Vim的基本操作: - 启动与退出:学习如何启动Vim...

    大家来学vim(简体-05).pdf

    大家来学vim(简体-05).pdf 鉴于仍有许多人还没找到顺手的编辑器,而许多想学 vi 的人又觉得无从下手,因此在此提出一 些个人的心得,希望能对这些朋友有点帮助。或许也减少一点 FAQ 吧! 真要深入的话,大多数的前辈...

    大家来学 vim pdf 中文

    "大家来学 Vim pdf 中文" 是一个专为中文用户设计的教程,旨在帮助初学者快速掌握Vim的基本操作和高级技巧。 1. **基础操作** - 启动与退出:了解如何启动Vim编辑器,以及在编辑模式和命令模式之间切换。例如,按...

    学习vi和vim编辑器.pdf_vim实用_vi_vim_

    1. **打开文件**:`vim 文件名` 命令用于打开一个文件进行编辑。 2. **移动光标**:`h`左移,`j`下移,`k`上移,`l`右移;数字与移动键组合可快速移动,如`4j`表示向下移动4行。 3. **删除文本**:`x`删除当前字符,...

    学习VI和VIM编辑器第7版中文

    **VI和VIM编辑器详解** VI(Visual Editor)是一款强大的文本编辑器,最初在1976年由Bill Joy为UNIX系统开发。随着时间的发展,VI的增强版本VIM(Vi Improved)应运而生,由 Bram Moolenaar 开发,并在1991年首次...

    基于C/C++语言的简易vim编辑器 仿vim编辑器

    # 基于C/C++语言的简易vim编辑器 仿vim编辑器 1. 编辑器下有normal和insert两种模式。默认为normal模式,按i键进入insert模式,按esc退出insert模式。 2. normal模式下按 h j k l键向左上下右移动光标。 3. normal...

    学习vim 编辑器 第7版

    "学习vim编辑器 第7版"显然是针对这个版本的Vim进行深入学习的资源,对于想要提升文本编辑效率的人来说,是非常有价值的。 在Vim中,用户可以快速地在命令模式、插入模式和可视模式之间切换,以执行不同的操作。...

    学习VI和VIM编辑器++中文版++第7版

    但三十年来,Unix已不再是三十年前的样子,这《学习vi和Vim编辑器(中文版)(第7版)》也不能一成不变。第7版的《学习vi和Vim》涵盖了Vim的详细指引,Vim是一种很棒的vi同类品。Vim现在是大多数Linux系统上的默认编辑器...

    学习vi和Vim编辑器_CN.pdf

    - **利用Fugitive.vim进行Git集成**:Fugitive.vim是一个Vim插件,提供了丰富的Git命令集成,如提交、查看历史、分支管理等。 #### 结语 学习vi和Vim编辑器是一项非常有价值的投资,尤其是在从事软件开发工作时。...

    一个仿vim的文本编辑器

    【标题】:“一个仿vim的文本编辑器” 在IT领域,文本编辑器是开发者们日常工作中不可或缺的工具,它们用于创建、查看和修改各种类型的文本文件。Vim(Vi Improved)是一个高度可定制且功能强大的命令行文本编辑器...

    学习VI和VIM编辑器第7版中文

    将近三十年的时间里,vi一直是Unix与Linux采用的标准编辑器,从1986年开始,《学习vi和Vim编辑器》一直是第一线的vi导引手册。但三十年来,Unix已不再是三十年前的样子,这本书也不能一成不变。第7版的《学习vi和Vim...

    VIM编辑器 安装包

    Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。 [1] VIM是自由软件。 Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年...

    vim编辑器用户手册

    Vim编辑器的定制是一个很大的话题,用户可以学习如何通过vimrc文件来配置Vim,包括简单映射的设置、插件的安装、帮助文件的增加、选项设置等。此外,用户手册中还包括使用语法高亮的方法,这对于编程工作尤其重要。 ...

    vim编辑器的rpm包

    在本案例中,"vim编辑器的rpm包"指的是一个打包为RPM格式的Vim软件,方便在支持RPM的Linux系统上进行安装。 RPM包的工作原理是将软件及其依赖关系打包成单一文件,以便于分发和管理。当用户运行`rpm`命令来安装这个...

Global site tag (gtag.js) - Google Analytics