Linux 已經(jīng)逐漸成為了最受開發(fā)者歡迎的操作系統(tǒng)。本文將介紹四個極為實用的技巧,相信這將能夠提高您在 Linux 下的工作效率和流暢性,也讓工作變得更為舒適、優(yōu)雅。
1、跳轉(zhuǎn)目錄優(yōu)雅順滑
1.1 bd 命令
快速回到 Bash 中的特定父目錄,而不是多余地鍵入 cd ../../..。
如果您在此路徑中/home/radia/work/python/tkinter/one/two并且想快速轉(zhuǎn)到目錄 python,只需鍵入:
bd python
或者僅輸入目錄的前幾個字母,如匹配多個目錄,則回到最近的一個:
bd p
示例:
bd 命令安裝:
sudo wget --no-check-certificate -O /usr/bin/bd https://raw.githubusercontent.com/vigneshwaranr/bd/master/bd
sudo chmod +rx /usr/bin/bd
echo 'alias bd=". bd -si"' >> ~/.bashrc
source ~/.bashrc
要啟用區(qū)分大小寫的目錄名稱匹配,請在別名中使用 -s 代替 -si:
如希望了解更多可以訪問開發(fā)者 GitHub:https://github.com/vigneshwaranr/bd
1.2 cd 命令的一些常用技巧
cd 后面不跟任何參數(shù),回用戶主目錄,等同:cd ~。
cd
cd ~
cd - 回退,返回之前目錄:
cd -
1.3 自定義命令,跳轉(zhuǎn)到常用目錄
對于經(jīng)常使用的目錄,可以增加一條自定義命令,實現(xiàn)一鍵直達(dá)。這點(diǎn)在下文詳解,先看個效果。
如果您在此路徑中/home/radia/work/python/tkinter/one/two,并且想快速轉(zhuǎn)到目錄 /home/radia/work/linux/linux-3.16.6,然后只需鍵入:
cl
示例:
2、多終端操作
在 Linux 終端操作時,任意分割屏幕為多個窗口,減少鼠標(biāo)操作,都是提高效率的好辦法。
在此,推薦 Terminator。安裝方法:
sudo apt-get install terminator
安裝完成后 CTRL + ALT + T 打開軟件,或者在所有程序中搜索 terminator。
如下圖所展示了一個使用快捷鍵分屏出三個小窗口的示例,并且將左下窗口重命名為 log。
這樣分割的三部分:
- 左下角可以專門用來顯示實時串口 log;
- 左上側(cè)可以用來編譯代碼,查看編譯報錯等;
- 右側(cè)可以編輯代碼,瀏覽文件等。
當(dāng)然,各個分屏的大小也是可以靈活調(diào)節(jié)的,鼠標(biāo)拖動和快捷鍵 CTRL + SHIFT + ↑ ↓ ← → 都可以實現(xiàn)。
如果一個標(biāo)簽頁不能滿足需求,可以使用快捷鍵 CTRL + SHIFT + T 開啟多個標(biāo)簽頁,標(biāo)簽頁也可以編輯標(biāo)題,便于區(qū)分。
常用的快捷鍵如下:
- CRTL + SHIFT + T,開新標(biāo)簽頁
- CRTL + SHIFT + E,垂直方向分屏
- CRTL + SHIFT + O,水平方向分屏
- ALT + ↑ ↓ ← → 在同一個標(biāo)簽頁中的各個分屏之間切換
- CTRL + PAGEUP / PAGEDOWN 左右切換不同標(biāo)簽頁
快捷鍵也可以按照自己的習(xí)慣進(jìn)行配置,比如切換標(biāo)簽頁的快捷鍵是 CRTL + PAGEUP/PAGEDOWN,對于這樣一個常用操作,手指移動到 PAGEUP/PAGEDOWN 按鍵,距離還是太長了,我習(xí)慣將其配置為 ALT + H 和 ALT + L ,因為 ALT 按鍵配合方向鍵可以切換同一標(biāo)簽頁中的不同分屏,索性也就讓 ALT 來切換不同標(biāo)簽頁。選擇 H 和 T 是因為習(xí)慣了 Vim 中 H 和 T 的左右移動。
將常用功能單獨(dú)預(yù)留一個終端窗口,并且編輯終端標(biāo)題,可以提高效率。按照自己的習(xí)慣分屏窗口,調(diào)整窗口,再結(jié)合下一小節(jié)中配制出的強(qiáng)大 Vim,就可以輕松打造自己專屬且高效的 IDE 了。
3、文件編輯
3.1 Markdown 編輯器推薦
Markdown 是目前最為流行的標(biāo)記語言,可以給常規(guī)的文本文件賦予:格式排版、插入圖片、插入圖表、插入代碼等實用功能,此處推薦 Typora 編輯器,文藝風(fēng)格,功能強(qiáng)大。
Tpyora 安裝:
wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -
# add Typora's repository
sudo add-apt-repository 'deb https://typora.io/linux ./'
sudo apt-get update
# install typora
sudo apt-get install typora
Markdown 和 Tpyora 使用簡單,一看就會,不用再多做介紹。
可以將 Markdown 格式作為記錄筆記,整理自己知識樹的常用格式。
關(guān)于如何方便快捷的構(gòu)建自己的知識管理平臺,如有需要后續(xù)可以寫一篇文章介紹整體方案。
Typora 官網(wǎng):https://www.typora.io
3.2 代碼編輯與查看
被公認(rèn)最好用的代碼編輯器當(dāng)然是 Vim,但許多功能配置起來有些繁瑣。需要花大量的時間去對比、研究各種插件,這個過程對于初學(xué)者是不友好的。
本文先不對任何 Vim 插件做對比,避免眼花繚亂,陷入選擇恐懼癥,而是直接附上我多年積累、一直在使用的 Vim 配置壓縮包,直接解壓就可以使用。建議還沒有形成自己使用習(xí)慣的讀者使用我提供的版本,先用起來,在實際使用中慢慢理解,相信過不了多久就能習(xí)慣 Vim,再根據(jù)自己需求調(diào)整或重新配置。
3.2.1 Vim 安裝與快速配置
Vim 安裝方法:
sudo apt-get install vim
Vim 配置:
下載 vim.tar.gz 解壓后,將 vim-config.tar 解壓至用戶根目錄:
tar -xvf vim-config.tar -C ~/
安裝完畢,就這么簡單,所有的插件已經(jīng)包含到壓縮包里了,不需要再下載其它東西。
重新開啟一個終端窗口就可以使用 Vim 打開代碼看看效果了:
上述界面可以看到,左側(cè)界面是文件列表(默認(rèn)不顯示,F(xiàn)3 開 / 關(guān)),右側(cè)是函數(shù)列表(默認(rèn)顯示,F(xiàn)9 開 / 關(guān)),可以使用 CTRL + W 在各個區(qū)域之間跳轉(zhuǎn),在三個界面上都可以像編輯文件一樣,通過 h、j、k、l 移動光標(biāo)定位。
在函數(shù)列表項上按回車鍵即可跳轉(zhuǎn)到指定函數(shù)。
在文件列表項上按回車鍵,打開相應(yīng)文件;按 i 或 s,以水平分割或縱向分割窗口打開文件,這個 Vim 的分割窗口的功能,查看代碼很實用。
3.2.2 搜索一個文件
使用 F3 呼出的文件列表,在同目錄下打開文件還是比較方便的,但如果需要打開其它位置的文件還是不太方便,可以按 F5 呼出文件查找窗口,輸入項目中的文件名,快速開啟文件。
3.2.3 跳轉(zhuǎn)到函數(shù)定義
查看代碼必備的功能就是快速到達(dá)函數(shù)或變量的定義位置。要實現(xiàn)這個功能,首先需要創(chuàng)建索引。
在項目根目錄下執(zhí)行:
ctags -R *
//或者指定需要建立索引的語言
ctags --languages=c,c++,java -R
執(zhí)行時間根據(jù)項目中源碼數(shù)量而定,文件多則創(chuàng)建索引的時間會久一些。執(zhí)行完成之后,在項目跟目錄下會生成一個 tags 文件。這樣再次在該目錄下,打開 Vim 就可以使用 CTRL + ] 快捷鍵,跳轉(zhuǎn)到函數(shù)或變量的定義位置了,使用 CTRL + T 返回原來的位置。
3.2.4 其它
上述給出的這些基本操作,已經(jīng)基本能夠滿足日常所有的需求。如果喜歡折騰,熟悉之后可以探索更多功能,還可以加快查找速度,這些在 vim.tar.gz 中的 readme 也有簡單的說明,算是拋磚引玉。
希望通過上述介紹,你能習(xí)慣并喜歡上 Vim。
這套配置默認(rèn)開啟了鼠標(biāo)的支持,可以通過鼠標(biāo)定位光標(biāo)的焦點(diǎn),使用滾輪翻頁代碼,這是為了便于初學(xué)者上手,后續(xù)熟悉了之后建議關(guān)閉此功能,因為開啟鼠標(biāo)功能后會損失鼠標(biāo)的右鍵菜單,鼠標(biāo)也不如鍵盤操作的效率高。
關(guān)閉 Vim 中鼠標(biāo)功能:
vim ~/.vimrc
//在303行前加引號,將set mouse=a注釋掉即可
" set mouse=a
4、自定義 shell 命令
Linux 的精髓就是腳本,可以對常用操作加入邏輯關(guān)系,完成一系列操作,解放我們的雙手,這也是程序員喜歡使用 Linux 的一個主要原因。
4.1 cl 命令的實現(xiàn)
先來看看上文提到的 cl 命令,其能夠?qū)崿F(xiàn)快速跳轉(zhuǎn)到常用的 Linux 源碼目錄,這是如何實現(xiàn)的呢?
其實簡單到難以置信:只需在當(dāng)前用戶根目錄下的 .bashrc 文件中增加命令別名。
按照如下命令嘗試一下吧,將其中/home/radia/work/linux/linux-3.16.6/ 替換成自己的常用路徑:
echo 'alias cl="cd /home/radia/work/linux/linux-3.16.6/"' >> ~/.bashrc
source ~/.bashrc
上圖可以看到,在添加之前 cl 命令不可用,添加之后就能夠?qū)崿F(xiàn)功能,成功跳轉(zhuǎn)到指定目錄了。
注:上述操作僅需操作一次,在添加后開啟的所有終端就都包含了 cl 命令。
4.2 來嘗試一個功能更復(fù)雜的命令
邏輯更復(fù)雜的命令,就不能像上述 cl 一樣,直接寫在 ~/.bashrc 文件中了。
假設(shè)如下場景:
A 工作場景時,需要開啟 A 場景所需的軟件 A1、A2、A3;B 場景時,又需要軟件 B1、B2、B3 的支持。那么可以新增一條命令 env_switch 完成這樣的工作環(huán)境的切換
env_switch A start #開啟A工作環(huán)境下的軟件A1,A2,A3
env_switch A stop #關(guān)閉A工作環(huán)境下的軟件A1,A2,A3
env_switch B start #開啟B工作環(huán)境下的軟件B1,B2,B3
env_switch B stop #開啟B工作環(huán)境下的軟件B1,B2,B3
實現(xiàn)如下:
在任意目錄下,如 /home/radia/cmd,創(chuàng)建腳本文件 env_switch.sh。
加入如下內(nèi)容,其中開啟、關(guān)閉軟件使用 echo 替代了,實際使用時替換為軟件的開啟命令即可:
#!/bin/bash
function env_switch()
{
if [ $1 = "A" ]; then
echo "A1,A2,A3 "
if [ $2 = "start" ];then
echo "will be opened"
elif [ $2 = "stop" ]; then
echo "will be closed"
fi
elif [ $1 = "B" ];then
echo "B1,B2,B3"
if [ $2 = "start" ];then
echo "will be opened"
elif [ $2 = "stop" ]; then
echo "will be closed"
fi
fi
}
增加執(zhí)行權(quán)限:
chmod +x env_switch.sh
放到 ~/.bashrc 文件中,這是為了在開啟每個終端時,都自動載入我們自定義的命令:
echo 'source /home/radia/cmd/env_switch.sh' >> ~/.bashrc
source ~/.bashrc
可以看到上述腳本 env_switch.sh 中只有一個函數(shù),而且并未被調(diào)用。這就是本小節(jié)中的關(guān)鍵技巧所在,利用 source 命令將腳本中的函數(shù)導(dǎo)入當(dāng)前 shell,這樣腳本中的函數(shù)就可以和其他的 shell 命令一樣使用了,如有其他需求,可以在 env_switch.sh 文件中增加函數(shù)即可,增加一個函數(shù),就會新增一條命令。
這種方法適合那些你每天都在做的一系列操作,歸納后形成一個常用命令,是個不錯的選擇。
另外在開發(fā)過程中一些測試場景,如果需要多個步驟的操作,而且在一段時間內(nèi)會頻繁使用,則建議編寫成腳本即可,無需增加為命令。
4.3 再談?wù)?bd 命令
細(xì)心的同學(xué)可能已經(jīng)發(fā)現(xiàn)了,其實我們之前使用的 bd 命令也只是一個才 50 多行的小腳本,我們平時在使用中也可以花時間寫一些自己的小腳本,這樣不斷積累下來,工作效率才會不斷提升,所謂磨刀不誤砍柴工嘛。
-
Linux
+關(guān)注
關(guān)注
87文章
11306瀏覽量
209572 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6829瀏覽量
123339 -
python
+關(guān)注
關(guān)注
56文章
4797瀏覽量
84712
發(fā)布評論請先 登錄
相關(guān)推薦
評論