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

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

oeasy教您玩轉(zhuǎn)vim - 74 - # 功能鍵Fn映射map進階

2021-12-27 09:54 作者:oeasy  | 我要投稿

映射map

回憶上次縮寫的細(xì)節(jié)

  • 上次了解到了:map映射

  • 可以定義映射

    • :map ; :

  • 查詢映射

    • :map

    • :map ;

  • 還可以取消映射

    • :unmap

  • 可以映射到指定的模式

    • :map 所有模式

    • :vmap 可視化模式 visual

    • :nmap 正常模式 normal

    • :omap operartor-pending 被定義的鍵可以作為一個motion來使用

    • :map! 插入和命令行模式

    • :imap 插入模式 insert

    • :cmap 命令行模式 command

  • 可以映射到什么也不做

    • :nmap h <nop>

  • 還可以避免再次映射

    • :noreabbrev o1z oeasy

  • 最后我們比較了縮寫和映射的異同

    • 縮寫映射 都是可以:mkview保存的

    • 也可以寫到~/.vimrc作為基礎(chǔ)映射

    • 還可以寫到具體的 filetype 中做一些專門的操作

  • 但是其實101鍵盤上面很多功能鍵

    • f1-f12

    • 我們還沒有用上

  • 可以給他們映射上么???

功能鍵映射

  • 第一個f1是有映射的

    • 如果在終端模式下運行就會到幫助文件

    • 如果在圖形化的終端模式下運行就會到terminal的幫助

  • f2我們可以映射么?

    • :map <F2> gg=G

    • 注意這個時候map空格之后

    • 可以直接按下f2

    • 就直接輸入<F2>

    • 很好使!

  • 但是我們應(yīng)該再限制一下,映射只會出現(xiàn)在Normal模式

    • :nmap <F2> gg=G

  • 我們再試一個

快速插入日期

  • 我們需要在文章最后寫一個日期時間

    • 執(zhí)行:read !date

    • 把外部命令date的結(jié)果read到buffer上

    • 然后<CR>是回車Carriage

    • 退回到正常模式

    • 整個操作完成

    • 插入的內(nèi)容就是Date:

    • :map <F2> oDate: <ESC>:read !date<CR>

    • o的意思是換行插入

    • esc退回到正常模式

    • :進入命令模式

  • 真的能用!?。?/p>

  • 這樣就可以快速插入落款日期了

  • 還可以進行一些修改

  • :map <F2> oDate: <ESC>:read !date<CR>kJ

    • k向上一行

    • J把當(dāng)前行和下一行鏈接

  • 如果要求在文本最后插入的話

    • :map <F2> GoDate: <ESC>:read !date<CR>

  • 其實我們常用的就是程序的編譯運行之類的

    • 這個映射能干么?

運行python程序

  • 這次我們用<F5>來干這個事情

  • 我們先在命令行里面走一遍

    • :!python3 %

    • 其中%是當(dāng)前文件名

    • 相當(dāng)于:!python3 oeasy.py

    • :h c_%

  • 把他轉(zhuǎn)化為映射

    • :map <F5> :!python3 %

  • 先保存

    • :map <F5> :w<CR>:!python3 %<CR>

  • 以后就可以一鍵運行python程序了

編譯并運行java程序

  • 仿照上次

    • :map <F5> :w<CR>:!javac %<CR>

    • 這樣是可以完成編譯的

    • 然而運行的時候我需要

    • :!java oeasy

    • 這就得去掉后綴

    • :!java %:t:r

  • 最終的映射語句是

    • :map <F5> :w<CR>:!javac %<CR>!java %:t:r<CR>

  • 保存、編譯、運行一氣呵成

  • 不過python、java、html都映射到了F5

  • 能否根據(jù)文件類型進行區(qū)分呢?

文件類型映射

  • 觀察文件類型檢測

  • :filetype

  • 具體的文件應(yīng)該放在哪兒呢?

具體操作

  • ~/.vim/ftplugin/下面放入文件類型的配置文件

    • ~/.vim/ftplugin/java.vim對應(yīng)java文件

    • ~/.vim/ftplugin/python.vim對應(yīng)python文件

  • 現(xiàn)在我們就分別對于java和python文件定義了F5這個操作

  • 其實網(wǎng)頁編輯也很常見

  • 如何在網(wǎng)頁中一鍵預(yù)覽?

一鍵預(yù)覽火狐

  • 本終端開火狐

    • firefox

    • !firefox

  • 首先在終端上可以另開一個火狐進程

    • 讓火狐瀏覽你的網(wǎng)頁

    • 我們的終端是xfce的

    • 如果是gnome的話也類似

    • 這可以在終端中新開一個終端

    • 新終端中運行火狐

    • xfce4-terminal -e 'firefox'

    • xfce4-terminal -e 'firefox oeasy.html'

  • 把這套放到vim里面跑一下

    • :!xfce4-terminal -e 'firefox %'

    • 成功在vim里跑了起來

  • 然后就是映射map

    • :map <F5> :!xfce4-terminal -e 'firefox %'

  • 可以的!

  • 然后把這句話寫到 htmlftplugin

總結(jié)

  • 這次我們定義了一系列的功能鍵

    • 讓他們可以起到作用

    • 比如保存、編譯、運行一鍵完成

    • 但是不同的文件類型應(yīng)該有不同的處理方式

    • 我們用 filetype 的機制解決了這個問題

  • 這些映射就像縮寫和折疊一樣

    • 可以:mkview保存著

  • 除了功能鍵之外

    • 組合鍵能映射么?

    • 比如ctrl+s之類的???

  • 下次再說!

[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 - 74 - # 功能鍵Fn映射map進階的評論 (共 條)

分享到微博請遵守國家法律
陕西省| 睢宁县| 株洲县| 开平市| 鄂托克前旗| 漠河县| 瓦房店市| 铁岭市| 浏阳市| 庆城县| 于都县| 襄城县| 阳西县| 云南省| 鄂伦春自治旗| 盐亭县| 土默特右旗| 禄丰县| 化德县| 滕州市| 济阳县| 皋兰县| 巴里| 兰溪市| 夹江县| 榕江县| 朝阳市| 屏东市| 呼和浩特市| 缙云县| 个旧市| 清镇市| 木里| 邵阳市| 滨州市| 厦门市| 吉木萨尔县| 万载县| 霍邱县| 九龙坡区| 甘泉县|