最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

oeasy教您玩轉(zhuǎn)vim - 75 - # 組合鍵映射map

2021-12-29 08:11 作者:oeasy  | 我要投稿

會話session

回憶組合鍵映射的細(xì)節(jié)

  • 上次我們定義了一系列的復(fù)合鍵

    • 主要是和ctrl鍵一起

  • 快速跳轉(zhuǎn)window窗口

    • map <c-j> <c-w>j

    • map <c-k> <c-w>k

    • map <c-h> <c-w>h

    • map <c-l> <c-w>l

  • 快速跳轉(zhuǎn)tab選項卡

    • map <c-left> :tabn<cr>

    • map <c-right> :tabp<cr>

  • 還可以流水作業(yè)

    • map <c-s> :%s/5.1/5.2/g<cR>:wnext<cr>

  • 最后要注意注釋說明的小細(xì)節(jié)

    • :unmap a|" ? ? unmap a

  • 組合鍵和功能鍵Fn一樣

    • 都可以做各種映射map

    • 映射map和縮寫abbreviate和折疊、本地options一樣

    • 都可以通過:mkview、:loadview來保存讀取

    • 但是如果我的環(huán)境里面有tab選項卡

    • tab選項卡里面還有各種切分好的各個窗口

    • 一覺醒來還得重新切分

    • 還得重新:tabnew

  • 我想把這個多選項卡tabs多窗口windows的狀態(tài)整個存儲起來

  • 可能么???

尋找過程

  • 如果 有這個功能的話

    • 一定是在:mkview附近

    • 我們先去現(xiàn)場轉(zhuǎn)轉(zhuǎn)

  • :h mkview

  • view 里面的可以包括

    • 映射 map

    • 縮寫 abbreivate

    • options

    • 參數(shù)列表 :args

    • 當(dāng)前文件

    • viewoptions

    • 折疊

    • 滾動位置和光標(biāo)位置

    • 當(dāng)前文件夾

  • viewoption相關(guān)的有一個sessionoptions

  • <c-]> 進(jìn)去看看

sessionoptions會話選項

  • 這個會話session就包括下列選項options

    • blnak 空白窗口

    • buffers 所有緩存

    • curdir 當(dāng)前目錄

    • folds 折疊

    • globals 全局變量

    • localoptions 本地選項

  • 還家伙,這不基本就把:mkview的活兒都干了么

  • 只要sessionoptions有以上這些

  • :mksession就可以完成:mkview的工作

  • 除此之外,session中還有什么

sessionoptions會話選項

  • 可以給 sessionoptions 添加更多選項

    • unix 文件名里面的反斜杠會變成斜杠

    • 會使用絕對路徑absolute path

    • :set sessionoptions+=resize

    • options 所有的選項option 和 映射map

    • resize 窗口的行和列

    • sesdir session會話文件所在的目錄

    • 這個文件夾會成為當(dāng)前目錄curdir

    • 如果sesdir、curdir都沒有的話

    • slash

    • 在從 windowsunixlike 有用

    • tabpages 選項卡頁面

    • terminal 終端存儲的命令

    • winpos、winsize 窗口window的大小和位置

  • 這啥都有了

  • tabswindow

  • 完全滿足需求

保存會話:mksession

  • :mksession 保存會話

  • 存到哪里了呢?

  • :echo this_session

    • 回答是保存在了當(dāng)前目錄

    • 叫做session.vim

    • 這個就很像在項目的根目錄保存了一個工作區(qū)

  • 我們?nèi)タ纯催@個東西是什么?

會話內(nèi)容Session

? git clone http://gitee.com/overmind1980/oeasyvim.git` ? vi -o oeasy.java oeasy.css oeasy.html

  • 然后再建立一些tabs

  • :mks[ession]

  • 可以看到這個在SessionOption里面的

    • tab

    • buffers

    • window

    • 全都有

  • 總共1000+行

  • 把當(dāng)前的狀態(tài)全保存起來了

  • 想恢復(fù)的時候只要

    • :so[urce] session.vim

    • 就都恢復(fù)了

切換項目工作區(qū)

  • 可以建立兩個session

  • 然后把復(fù)制oeasyvim出來叫oeasy

  • 這樣我們就有兩個工作文件夾了

    • 比如 oeasyvim 是我們不想做的任務(wù)A

    • oeasy是我們想做的任務(wù)B

? cd .. ? cp oeasyvim oeasy ? cd oeasy ? vi -o oeasy.java oeasy.css oeasy.html

  • 再加上一些tab選項卡之類

    • :mksession

    • 這次在oeasy這個工程文件夾底下建立了Session.vim

    • 我們可以看到這兩個項目

    • 各有各的工程文件

    • 也就是各有各的藍(lán)布棉門簾

    • 甚至可以把這個工作區(qū)狀態(tài)分享到網(wǎng)上

  • 別人就用你的布局方式打開你的工程

    • vim -S Session.vim

  • 或者進(jìn)入vim后

    • :source Session.vim

  • 也可以給同一個工程制作不同方面的切面會話

項目工作區(qū)文件夾./sessions

  • :mks ~/sessions/oeasy.session

    • ls ~/sessions/

    • vim -S ~/sessions/oeasy.session

    • ~/sessions/oeasy.session

    • ~/sessions/o2z.session

    • ~/sessions/o3z.session

    • 可以在指定位置~/session下建立工程目錄

    • 所有的工程文件都存在工程目錄里

    • 這樣的話我可以直接去工程目錄里面找工程

  • 優(yōu)點

    • 用.gitignore可解決這個問題

    • 各個工程集中管理

    • 也可以設(shè)定這些session文件

    • 其實還有其他方法避免session文件出現(xiàn)在git提交的工程目錄里面

  • 缺點

    • 刪除一個工程要在兩個地方刪除

    • 工程程序素材和工程工作區(qū)不在一起復(fù)制粘貼麻煩

功能鍵映射

  • 我想讓F2能執(zhí)行:mksession的任務(wù)

    • :map <F2> :mks!<cr>

  • 我想先保存文件再保存工作區(qū)

    • :map <F2> :wa<Bar>mks!<cr>

  • 我想先保存文件再保存工作區(qū)到當(dāng)前session文件

    • :map <F2> :wa<Bar>exe "mksession! " . v:this_session<cr>

    • 其中v:this_session是當(dāng)前的session

    • 可以:echo v:this_session

  • 想要加載session的時候

    • :source ~/oeasy/oeasy.vim 也可以指定一個功能鍵

    • :map <F3> :source ~/oeasy/oeasy.vim<cr>

  • 當(dāng)F3的時候

    • 這會話session就被保存住了

    • 而這兩個map映射也就保存到了這個session里面

view和session

  • 先后次序

    • vim肯定是先有的:mkview 保存窗口視圖

    • 后有的:mksession 保存整個會話

    • 這說明vim功能變的更強(qiáng)大

    • 更適合多線程并發(fā)的環(huán)境

  • 兩者關(guān)系

    • 單tab選項卡單window窗口的工程可以用:mkview

    • 多tab選項卡多window窗口的工程最好用:mksession

    • :mksession 可替代 :mkview

  • 不過最后一段他說

    • viewsession 都是 viminfo 的有益補(bǔ)充??!

    • 幾個意思?

  • 我們還是先總結(jié)一下 Session

總結(jié)

  • 這次我們定義了session

    • :mks

  • 還可以加載會話session

    • :source Session.vim

    • vim -S Session.vim

  • 基本上確立:mksession可以替代:mkview

  • 誰知又出來一個viminfo?!??

  • 上面這哥倆兒都成了有益補(bǔ)充?

  • 什么情況???

  • 下次再說!

[Github地址] (https://github.com/overmind1980/oeasyvim)
[Gitee地址] (overmind1980/oeasyvim)
[藍(lán)橋?qū)嶒灅?邀請碼FJWYIMGB] (oeasy 教您零基礎(chǔ)玩轉(zhuǎn)編輯神器 Vim_Linux 藍(lán)橋云課)


oeasy教您玩轉(zhuǎn)vim - 75 - # 組合鍵映射map的評論 (共 條)

分享到微博請遵守國家法律
精河县| 瑞丽市| 塔城市| 行唐县| 株洲市| 通城县| 麻城市| 龙陵县| 呼图壁县| 漾濞| 天水市| 永泰县| 隆昌县| 三原县| 门源| 平远县| 略阳县| 屏南县| 綦江县| 玉林市| 尼勒克县| 卫辉市| 荣成市| 周宁县| 孝昌县| 永春县| 湄潭县| 苍山县| 黄浦区| 九龙坡区| 庐江县| 金阳县| 弥勒县| 南皮县| 镇原县| 鞍山市| 革吉县| 修文县| 浮山县| 炎陵县| 揭东县|