oeasy教您玩轉(zhuǎn)vim - 4 - # 深入幫助
深入幫助??
回憶上節(jié)課內(nèi)容
上次制作了
oeasy.txt
用
vim oeasy.txt
打開了文件:f[ile]
查詢了當(dāng)前文件 ?? 的信息從
正常模式或命令模式(Normal mode)
切換到命令行模式 (Command-Line mode)
要使用:從
命令行模式(Command-Line mode)
按回車執(zhí)行命令,執(zhí)行完了就回來了

我們已經(jīng)可以在兩個(gè)模式(
命令模式
、底線命令模式
模式)之間切換我們這次想要了解更多的幫助信息
運(yùn)行幫助??
在 vim
中運(yùn)行 :help

我們可以使用h、j、k、l進(jìn)行移動(dòng)
方向如上圖所示
這個(gè)時(shí)候
hjkl
不是輸入字符而是移動(dòng)方向的命令不光是這四個(gè)字符
所有的鍵盤字符都對(duì)應(yīng)命令
這就是為什么默認(rèn)的正常模式
(Normal mode)
也被稱作命令模式
命令模式
命令模式可以直接按鍵來執(zhí)行命令
比如移動(dòng)
還有很多各種命令

命令模式
(Normal mode)
和 命令行模式(Command-Line mode)
不同命令模式
(Normal mode)
直接按鍵執(zhí)行而命令行模式
(Command-Line mode)
在底部行輸入命令后按回車執(zhí)行*模式不同,對(duì)應(yīng)的操作不同
這也是
vim
上手最難的原因
學(xué)習(xí)曲線

vim 是公認(rèn)的非常陡峭的學(xué)習(xí)曲線
不過突破上去了之后,效率是相當(dāng)高的
多易必多難
最開始看起來容易的東西,比如 ide
什么都給你配好了,但是你對(duì)于底層完全失去了理解和控制,到最后反而是最難
我們一點(diǎn)點(diǎn)翻越這陡峭的山,征服 vim
但是為什么是h、j、k、l對(duì)應(yīng)方向呢?
起源
vim
起源于vi
vi
早期是 Bill Joy 在adm3A
上制作和使用的adm3A
是一臺(tái)終端adm3A
的鍵盤沒有方向鍵所以這個(gè)習(xí)慣就延續(xù)的到了今天??

我們可以看到上圖鍵盤上的h、j、k、l按鍵上面對(duì)應(yīng)的方向
現(xiàn)在還需要用h、j、k、l按鍵控制光標(biāo)么?
鍵盤核心區(qū)
是的!?? 現(xiàn)在還可以使用h、j、k、l按鍵控制光標(biāo)。
在使用 vim 時(shí),咱們可以把手放在鍵盤核心區(qū)有助于提高效率
將左手食指放在f上
將右手食指放在j上

在上面圖片中展示的現(xiàn)代 101 鍵盤中有加入了方向鍵:
在右手的右下面的非核心區(qū)
筆記本鍵盤方向鍵也需要物理移動(dòng)手的位置
所以這種移動(dòng)會(huì)降低效率,那我們能用鼠標(biāo)定位么?
使用鼠標(biāo)??
想在 vim 中使用鼠標(biāo)控制,我們先需要進(jìn)行基本的配置:
首先我們?cè)?vim 中搜索幫助,輸入
:h mouse
,可以看到如下圖所示的界面:

現(xiàn)在我們進(jìn)行主題設(shè)置
從上圖中我們可以看到,vim 提示我們執(zhí)行
:set mouse=a
,就可以用鼠標(biāo)了?。?!我們可以使用鼠標(biāo)移動(dòng)光標(biāo)
使用滾輪可以翻頁
還可以使用鼠標(biāo)點(diǎn)擊相關(guān)的主題鏈接
這些現(xiàn)代科技真的很不錯(cuò),使用鼠標(biāo)后操作更便捷了,但是鼠標(biāo)其實(shí)會(huì)更影響效率,因?yàn)槭髽?biāo)會(huì)讓我們的手離開鍵盤。
然而 vi
就是想讓用戶可以實(shí)現(xiàn),手不離開鍵盤核心區(qū)域就完成所有的編輯工作:
方向移動(dòng)是最常用的操作
他想讓你相對(duì)靈活的右手位置在鍵盤核心區(qū)完全不動(dòng)
只需要按下手指就完成相應(yīng)的移動(dòng)操作
而且比鼠標(biāo)還快速
位置記憶
用 l 來表示右邊很難記憶
怎么辦呢?有用戶想到了這個(gè)

東 洛杉磯
南 爪哇島
西 黃河
北 共青城

用熟了其實(shí)很簡(jiǎn)潔
逐漸將操作變成肌肉記憶,不要走腦子
現(xiàn)在我們有一個(gè)新問題,當(dāng)年在沒有鼠標(biāo)的時(shí)候,Bill Joy 是如何跳轉(zhuǎn)超鏈接主題的呢?
鍵盤跳轉(zhuǎn)

運(yùn)行
:help
回到主題開頭我們可以看到
bars
這樣的鏈接使用h、j、k、l移動(dòng)光標(biāo)
把光標(biāo)移動(dòng)到鏈接上
是ctrl+]就可以跳入鏈接
ctrl+o可以跳出鏈接,回到原位置
older position
我們可以試試反復(fù)跳躍???♀?
兩套手冊(cè)
在翻閱 vim 的 manual 的時(shí)候
我們發(fā)現(xiàn) vim 有兩套 manual

用戶手冊(cè)

一套是用戶手冊(cè)
像一本書一樣
從頭讀到尾
從簡(jiǎn)單到復(fù)雜
適合初學(xué)
引用手冊(cè)

另一套是引用手冊(cè)
精確的描述每個(gè)主題
以及主題內(nèi)容是如何工作的
適合查詢
總結(jié)
我們這次看了
正常模式
命令行模式
以及他們切換的方式
了解了幫助文件的正確打開方式
h、j、k、l命令的歷史來源
在文檔中使用鼠標(biāo)(并不建議)
使用全鍵盤方式跳入跳出超鏈接
幫助文件的兩種手冊(cè)
不過說到這里我們還是沒改文檔啊啊啊啊!??
好飯不怕晚???
我們下次再說!*