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

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

oeasy教您玩轉(zhuǎn)vim - 83 - # 表達(dá)式Expression

2022-01-08 07:40 作者:oeasy  | 我要投稿

表達(dá)式 expression

回憶

  • 關(guān)于 函數(shù)function ,我們回憶一下

    • 可以查詢

    • 可以新建

    • 可以調(diào)用

    • 還可以刪除

  • 我想用 函數(shù)functionbuffuer 里面寫點(diǎn)東西

  • 比如寫一個(gè)java的基本程序框架

  • 這樣一調(diào)用就好使了

  • 省的自己打了

  • 可以么???

追加函數(shù)

  • 應(yīng)該如何去找關(guān)于寫 buffer 的函數(shù)呢?

  • :h

    • 找到用戶手冊(cè)41.6

    • 找到這一類的函數(shù)

    • 屬于text-functions

    • 文本函數(shù)

追加函數(shù)

  • :h append()

  • 幫助中提到了{(lán)lnum}可以是0

  • 我來試試

函數(shù)初試

  • :call append(0,"oeasy o2z o3z")

  • :call append(0,"111oeasy o2z o3z o4z")

  • :call append(0,"222oeasy o2z o3z o4z")

  • :call append(1,"3333oeasy o2z o3z o4z")

  • 結(jié)論是可以插入

  • 一次在指定位置插一行

  • 如果想要插入最上面一行

    • 使用:call append(0,"在第一行插入")

插入框架

  • 再重新進(jìn)入vi

  • :call Oeasy()

  • 試驗(yàn)成功

  • 但是這個(gè)應(yīng)該是只對(duì)于java文件起作用的?

  • 應(yīng)該如何寫?

  • 先把這段函數(shù)復(fù)制下來

ftplugin文件類型插件

  • 使用文件類型插件有兩種方式

  • 所有用戶共享文件類型插件

    • vi /usr/share/vim/vim81/ftplugin/java.vim

  • 當(dāng)前用戶獨(dú)有的文件類型插件

    • mkdir -p ~/.vim/ftplugin

    • vi ~/.vim/ftplugin/java.vim

  • 函數(shù)名改成Initial

  • 保存并退出

文件類型初始化

  • 在css文件中調(diào)用函數(shù)

    • vi Oeasy.css

    • :call Initial()

    • 找不到函數(shù)

  • 在java文件中調(diào)用函數(shù)

    • vi Oeasy.java

    • :call Initial()

    • 插入成功

    • 但是這個(gè)不夠通用

    • 要是能關(guān)聯(lián)當(dāng)前文件的文件名作為類名就好了

使用文件名

  • :echo expand('%:t:r')

  • 這是可以顯示當(dāng)前的文件名的

  • 這原理是什么呢?

  • :h %:t

整合

  • 把這個(gè)整合到Initial函數(shù)里面

  • 試驗(yàn)成功

  • 我想要調(diào)整整個(gè)buffer的縮進(jìn),怎么辦呢?

    • gg=G

  • 但是我想把這條命令整合到Intial函數(shù)里面可能么?

表達(dá)式

  • 怎么執(zhí)行正常模式的命令呢?

    • :h :normal

  • :normal gg=G

    • 試驗(yàn)成功

  • normal gg=G是一個(gè)命令表達(dá)式

  • 但是怎么在函數(shù)里面執(zhí)行這個(gè)表達(dá)式呢?

執(zhí)行命令表達(dá)式

  • 先u回來

  • :h execute

  • 可以在函數(shù)里面執(zhí)行表達(dá)式

  • 什么是表達(dá)式呢?

  • 就是剛才的Ex command

  • :execute "normal gg=G"

  • 試驗(yàn)成功

  • 縮進(jìn)之后我可以保存么?

  • :execute "w"

    • 試驗(yàn)成功

  • :call execute("w")

    • 也試驗(yàn)成功

  • 下面嘗試放到函數(shù)里

在函數(shù)里執(zhí)行表達(dá)式

  • :call Init()

  • 調(diào)用成功!

  • 縮進(jìn)和保存都是ok的!

建立映射

  • :source %

  • :call Id()

  • :map ... :call Id()<CR>

  • :10,30>>

  • ...

總結(jié)

  • 關(guān)于 函數(shù)function

    • :call execute("normal gg=G")

    • :call append(0,"oeasy o2z o3z")

    • 可以調(diào)用別的函數(shù)

    • 還可以執(zhí)行表達(dá)式

  • 這樣就可以把一系列的操作封裝到一個(gè)函數(shù)里面

  • 然后在命令行模式調(diào)用就可以了

  • 但如果我想不用`:call Init()"

  • 而是像:ls一樣執(zhí)行:init,可能么???

  • 下次再說!

[Github地址] (https://github.com/overmind1980/oeasyvim)
[Gitee地址] (https://gitee.com/overmind1980/oeasyvim)
[藍(lán)橋?qū)嶒?yàn)樓 邀請(qǐng)碼FJWYIMGB] (https://www.lanqiao.cn/courses/2840)


oeasy教您玩轉(zhuǎn)vim - 83 - # 表達(dá)式Expression的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
平遥县| 呼伦贝尔市| 南安市| 拉孜县| 湘阴县| 武胜县| 永宁县| 小金县| 武胜县| 独山县| 新源县| 湘潭市| 敦化市| 穆棱市| 湘潭市| 云阳县| 巴林左旗| 三明市| 故城县| 木里| 湘乡市| 广河县| 政和县| 关岭| 板桥市| 阜平县| 云龙县| 万盛区| 安庆市| 富裕县| 库车县| 鄂托克旗| 镶黄旗| 肇源县| 兴海县| 山阳县| 邢台县| 东平县| 南郑县| 海林市| 临沧市|