--- tags: sysprog --- # 終端機和 Vim 設定 > 教學影片: ==[快快樂樂學 Vim](https://youtu.be/Y3Libi0SEp8)== ## 自訂終端機命令列 每次打開終端機覺得命令列過長? 或者是顏色單調? 其實這些都是可以調整的! 我們可以到 `~/.bashrc` 下設定 `PS1` 這個變數 (Ubuntu 在第 61 或 62 行) * **自訂命令列顯示字串** * `\u`: 使用者帳號名稱 * `\h`: 主機名稱 * `\w`: 目前位置(完整路徑) * `\W`: 目前位置(只有目前目錄名稱) * `[\t]`: 顯示時間 (`hh:mm:ss`), 更多變化請見參考連結 * **文字顏色** 文字的色彩是靠 ANSI escape code 來指定的 `\e[0;34m`: 顏色指定開始控制碼 `\e[0m`: 結束 * `0` 與 `1`: `0` 是正常亮度,`1` 是高亮度 * `30` 到 `37`: `30 + x` 的值為前景色 * `40` 到 `47`: `40 + x` 的值為背景色  :::info 記得重新登入或重開機,以載入上述設定,或執行 source 命令 ```shell $ source ~/.bashrc ``` ::: 改完後不但有美美的顏色,也不會顯示一長串的路徑。 要完整路徑就下 `$pwd` 吧 =w=  延伸閱讀: * [自訂 Linux 的 Bash Shell 命令提示字串 Prompt](https://blog.gtwang.org/linux/how-to-make-a-fancy-and-useful-bash-prompt-in-linux-1/) ## 安裝 Vim `$ sudo apt-get install vim` 幾乎是瞬間 Vim 就裝好啦! ## Vim 設定 :::danger 請在家目錄下,下命令 `$ vim .vimrc` ::: 所有 Vim 的相關設定都在此更改 ### 設定選項 以下列出部分設定,強大的 Vim 還有更多功能可供使用者自行訂定 * `set ai`: - 自動縮排,啟用自動縮排以後,在貼上剪貼簿的資料時排版可能會亂掉,這時可以手動切換至貼上模式 :set paste 再進行貼上 * `syntax on`: 開啟上色模式 * `set background=dark`: 啟用暗色背景模式,字體色調變亮 * `set cursorline`: 啟用行游標提示 * `set enc=utf8`: 文字編碼加入 utf8 * `set hls`: 螢光筆標記關鍵字 * `set number`: 顯示行號 * `map <F4> : set nu!<BAR>set nonu?<CR>`: 按下 F4 可以自由開關行號,複製程式碼時超方便! * `set relativenumber`: 顯示相對行號 * `set ic`: 搜尋不分大小寫 * `set expandtab`: 使用空白取代 Tab * `set tabstop=4`: 控制 Tab 時所需要的空白鍵 (Tab) 字元數,這個例子是用 4 個空白鍵取代 Tab * `set shiftwidth=2`: 自訂縮排所需的空白鍵位元數 參考資訊 * [凍仁的筆記](https://note.drx.tw/2008/01/vimrc-config.html) * [Vim 將 Tab 轉換成 Space](https://blog.wu-boy.com/2010/08/vim-%E5%B0%87-tab-%E8%BD%89%E6%8F%9B%E6%88%90-space/) * [鳥哥的私房菜 vim 程式編輯器](https://linux.vbird.org/linux_basic/centos7/0310vi.php#vi_vim) * [Mapping keys in Vim](https://vim.fandom.com/wiki/Mapping_keys_in_Vim_-_Tutorial_(Part_1)) ### Vim Plugin 網路上有許多工具可以讓工作更有效率! * **plugin manager** plugin 只會愈裝愈多,因此需要一個掌管所有 plugins 的管理者 * [vundle](https://github.com/VundleVim/Vundle.vim) * [Minimalist Vim Plugin Manager](https://github.com/junegunn/vim-plug) 要裝什麼樣的 plugins 就看使用者自己,請參考連結: * [十個必用的 Vim Plugin](https://www.cnblogs.com/UnGeek/p/3318089.html) * [How to Do 90% of What Plugins Do (With Just Vim)](https://youtu.be/XA2WjJbmmoM) * 此講者會進行 Live Demo 跟著做很快就上手 * 連簡報都可用 Vim 展現 ## .vimrc 範例 * 從 `Line1` 到 `Line12` 是使用 [Minimalist Vim Plugin Manager](https://github.com/junegunn/vim-plug) 的設定 * `Line28` 開始設定的是 autocomplete 下拉選單的背景色 ```vim " Specify a directory for plugins (for Neovim: ~/.local/share/nvim/plugged) call plug#begin('~/.vim/plugged') Plug 'Shougo/neocomplcache' Plug 'scrooloose/nerdtree' map <F5> :NERDTreeToggle<CR> call plug#end() let g:neocomplcache_enable_at_startup = 1 let g:neocomplcache_enable_smart_case = 1 inoremap <expr><TAB> pumvisible()?"\<C-n>" : "\<TAB>" syntax on set number set cursorline colorscheme default set bg=dark set tabstop=4 set expandtab set shiftwidth=4 set ai set hlsearch set smartindent map <F4> : set nu!<BAR>set nonu?<CR> " autocomplete dropdown list colorscheme hi Pmenu ctermfg=0 ctermbg=7 hi PmenuSel ctermfg=7 ctermbg=4 ``` ## Vim 也很強大的!!  ## 管理多終端機視窗工具: ***byobu***+ NERDTree  安裝: `$ sudo apt-get install byobu` [byobu](https://www.byobu.org/) 在終端機輸入 byobu,以下是快捷鍵: * `F2` : 新增終端機分頁 * `F3`,`F4` : 在終端機之間切換 * `ctrl`+`F6` : 刪除終端機 * `shift`+`F2` : 新增水平終端機 * `ctrl`+`F2` : 新增垂直終端機 * `shift`+方向鍵 : 切換
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.