像使用 Vim 一樣使用 Xcode

2021-09-12 01:35:40 字數 2352 閱讀 7611

剛開始使用 xcode 是因為它優美的介面, 且原生支援 c++. 後來機緣巧合開始開發 ios 越發發現 xcode 的強大: 執行緒堆疊, lldb, instruments, view hierarchy, memory graph...

後來寫 python 時使用了 vim, 一度痴迷於 vim 強大的文字編輯能力, 於是每天都在尋找 vim 外掛程式, 試圖用 vim 代替 xcode 進行日常開發. 直到有一天突然發現, 我想要的就是乙個擁有強大文字編輯能力的 xcode.

一切煥然開朗, 於是我開始著手配置 xcode 的文字編輯功能...

先上一段日常開發常用的操作 gif:

使用過 vim 的可以自己對應相關鍵位, 這裡主要用到的是:

另外還有向前刪除單行, 向後刪除單行, 全域性替換, 剪下單行, 格式化貼上單行等.

首先 xcode 原生自帶的快捷鍵就非常實用了,cmd+,開啟preferences->code binding->text可以看到常用的選擇, 刪除, 搜尋等快捷操作, 如move word right=>⌥+→:游標向右按單詞移動.

下面是比較常用的快捷操作:

tips: 片語: somevariable 單詞: some, variable

operation

default key

remark

move up

^p, ↑

上移move down

^n, ↓

下移move to beginning of line

⌘←移動到行首

move to end of line

⌘→移動到行末

move to beginning of page

⌘↑移動到頁面頂部

move to end of page

⌘↓移動到頁面底部

move word right

⌥→按單詞右移

move word left

⌥←按單詞左移

selection

⇧↑(↓←→)

選中multiple selection

⇧⌘↑(↓←→)

選中塊delete forward

⌦ = fn⌫

向後刪除

delete subword backward

^⇧⌫刪除游標之前單詞

delete subword forward

^⇧⌦刪除游標之後單詞

delete word forward

⌥⌦刪除游標之後片語

delete word backward

⌥⌫刪除游標之前片語

delete to beginning of text

⌘⌫刪除到行首

delete to end of text

⌘⌦刪除到行尾

center selection in visible area

^l游標定位螢幕**

replace

⌥⌘f替換

replace all

替換所有

實際使用時發現系統提供的刪除只可以刪除單詞或片語某一方向的字元:

deleteion system

deletion custom

使用編輯器開啟idetextkeybindingset.plist, 自行新增快捷操作:

如:

cut current linekey>

movetoendofline:, deletetobeginningoftext:string>

複製**

其中cut current line是顯示在 xcode 偏好設定內的快捷操作.movetoendofline是編輯器的文字操作相關的 api, 可以組合類似的 api 自定義操作.

下面是部分我自定義的操作, 也可以在這裡檢視完整版本:

編輯完成後, 重新開啟xcode->preferences->key bindings->customized, 為自定義的快捷操作新增快捷鍵

xcode 還有很多好用的快捷方式, 如檔案切換, 方法切換, 顯示隱藏 area, 快捷搜尋, 多視窗切換等, 以及很多有趣的功能都可以探索. 另外也可以使用自定義的鍵盤進行輔助程式設計. 有興趣的推薦嘗試下 gh60 hhkb 配列.

掘金的 markdown 排版真不錯.

像Excel一樣使用Python(一)

在進行資料處理時,如果資料簡單,數量不多,excel是大家的首選。但是當資料眾多,型別複雜,需要靈活地顯示切片 進行索引 以及排序時,python會更加方便。借助python中的numpy和pandas庫,它能快速完成各種任務,包括資料的建立 檢查 清洗 預處理 提取 篩選 彙總 統計等。接下來幾篇...

像Excel一樣使用Python(二)

像excel一樣使用python,上一期介紹了生成 檢視 替換等功能,這一期介紹資料預處理,包括資料表合併 排序 分組等。excel裡智慧型複製貼上來合併 或者通過vlookup函式分步實現。python中,可以直接使用merge函式來合併兩個表,可選引數較多,這裡只介紹最常用的幾個引數 df1.m...

假如生活能像vim一樣

假如生活能像vim一樣 複習一下vim中的快捷鍵 emmm這個其實我自己也不太想總結,直接搬別人的東西吧 vim思維導圖 關於vim的思想 vim好用嗎,我覺得確實比windows自帶的記事本要好多了。但是如果用來做開發環境,其實並不見得就一定特別好。不過我倒是很喜歡這個編輯器,以前一直覺得它很神秘...