2016年9月3日 星期六

xfce4-terminal 游標顏色問題

最近又改回用 Xfce 桌面環境 (desktop environment),
也把 gnome-terminal 換成 xfce4-terminal,
基本使用上都沒有什麼問題,也多了可以改 tab 名稱的實用功能,
可是預設的游標樣式 (cursor theme) 卻是固定顏色 (預設是綠色),
不會隨著文字顏色而改變,在使用 Vim 時相當不方便,
文字會被游標的顏色吃掉。

解決方法:
只要在編輯 「~/.config/xfce4/terminal/terminalrc」,
加上「ColorCursor=」,
就可以隨著文字顏色而改變游標顏色。

env:
    os: ubuntu 16.04.1 LTS
    xfce4-terminal: 0.6.3

參考資料:
How to force xfce-terminal to use inverse cursor colours

2016年9月2日 星期五

~/.tmux.conf

# 讓<Esc>不要延遲
set -s escape-time 0

# 讓powerline在tmux下可以顯示顏色
set -g default-terminal "screen-256color"
#set -g default-terminal "xterm-256color"

# 開啟window rename功能
set-option -g allow-rename

set -g status-justify left
set -g status-interval 15 # 15 sec refresh
set -g display-time 3000
set -g status-bg colour236
set -g status-fg white
set-window-option -g window-status-current-fg black
set-window-option -g window-status-current-bg yellow
set-window-option -g window-status-current-attr default # bright
set -g status-left-length 15
set -g status-right-length 55
#set -g status-left "#[fg=white,bg=blue] > #I #W < #[default] |" # 0:bash
#set -g status-left "#[fg=white,bg=blue] > #S < #[default] |" # session-name

# 改變日期格式
#set -g status-right "#[fg=red,bright][ #[fg=cyan]#H #[fg=red]]#[default] #[fg=yellow,bright]- %Y-%m-%d #[fg=green]%H:%M #[default]#[fg=magenta,bright](load: #(cat /proc/loadavg | cut -d \" \" -f 1,2,3))#[default]"
set -g status-right "#[fg=colour255][#[default]#[fg=colour34]#H#[default]#[fg=colour255]]#[default]#[default] #[fg=colour39](#(cat /proc/loadavg | cut -d \" \" -f 1,2,3))#[default]#[fg=white] | #[default]#[fg=yellow]%Y-%m-%d #[default]#[fg=yellow, bright]%H:%M #[default]"

# 開啟window number rename功能 not work
#set-option -g renumber-windows on

# 關閉rename window功能
#set-option -g allow-rename off

# Make mouse useful in copy mode
#setw -g mode-mouse on

# Mouse support for scrolling
#set -g mouse on
#set -g mode-mouse on
#set -g mouse-resize-pane on
#set -g mouse-select-pane on
#set -g mouse-select-window on

#set-option -g mouse on

#set-option -g -q mouse on

2015年11月23日 星期一

Vundle: Vim's plugin manager

之前安裝Vim的plugin都是透過Vim的官網下載,
這樣有個問題,就是如果plugin有更新,
你可能不知道,需要留心追蹤,
而如果安裝的plugin一多,
要一個一個追蹤與更新想必是一件相當累人的工作。
所以,Vim的plugin manager就應運而生,
有一個比較早期plugin manager名為pathogen
而網路上的評價比較好的則是Vundle
由於剛進入Vim plugin manager的世界,沒有包袱的我當然就是往Vundle邁進啦!
首先當然是安裝Vundle:
Debian有一個名為Vim-pathogen的套件,不過沒有Vunble,
但可以透過Vundle的GitHub上的文件一步一步來安裝,
首先,必須先安裝git:
Debian/Ubuntu:

apt-get install git


Fedora (22+):

dnf install git

接著下載並至於指定位置:

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim



之後在~/.vimrc的開頭輸入:

set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'

" The following are examples of different formats supported.
" Keep Plugin commands between vundle#begin/end.

" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required



再來,進入Vim並在normal mode中輸入:

:PluginInstall

或者,不進入Vim,直接在command-line下輸入:


vim +PluginInstall +qall

就會把Vundle的環境架好。

完成了Vundle的安裝與設置,接下來就是來安裝一些常用的plugins。
只要在上述~/.vimrccall vundle#begin()call vundle#end()之間,
插入像是:

Plugin 'scrooloose/nerdtree'

其中,引號內的字串表示:


此plugin在GitHub上的帳號/plugin的名稱

如果plugin沒有在GitHub上面,也可以有其他對應方式:

Plugin 'tpope/vim-fugitive'
" plugin from http://vim-scripts.org/vim/scripts.html
Plugin 'L9'
" Git plugin not hosted on GitHub
Plugin 'git://git.wincent.com/command-t.git'
" git repos on your local machine (i.e. when working on your own plugin)
Plugin 'file:///home/gmarik/path/to/plugin'
" The sparkup vim script is in a subdirectory of this repo called vim.
" Pass the path to set the runtimepath properly.
Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
" Avoid a name conflict with L9
Plugin 'user/L9', {'name': 'newL9'}

之後進入Vim的normal mode輸入:


:PluginInstall

就會幫你把NerdTree這個好用的plugin給裝好了!

常用的Vundle指令除了:PluginInstall,還有:

:PluginList " 列出所有plugin :PluginInstall " 安裝plugin :PluginUpdate " 更新plugin :PluginClean " 清除未使用套件 :PluginSearch xxx " 搜尋plugin xxx

想要移除plugin,只要在~/.vimrc中移除該套件(Plugin xxx/xxx),

接著,在Vim normal mode下輸入:

:PluginClean

就可以移除該plugin了!

注意

最新版的的Vundle安裝plugin時是在~/.vimrc裡加入:

Plugin 'xxx/xxx'

而之前版本是使用:


Bundle 'xxx/xxx'

不過目前(2015/10)最新版可以向下相容。


參考資料:
Vundle
Arch Linux - 為 Vim 安裝套件管理工具 : Vundle ( Install Vundle for Vim on Arch Linux )