0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

lessの代わりにview(vim)を使うための仕上げ

Last updated at Posted at 2021-04-25

はじめに

lessはとても便利なのですが、~/.bashrcのような拡張子がないshellスクリプトだと、source-highlightを使っても色なしになるのが玉に瑕。
そもそも長いScriptを書くときはVScodeのようなエディタを使っている以上、lessで開くファイルに対してbashの設定ファイル系が占める割合は少なくありません。

加えて、lessでファイルの上限や下限まで見たときのbeep音がどういう設定にしてもオフにならない……。
vimのbeep音は簡単に解消できたので、この機に正規のlessから乗り換えることにしました。

じゃあview使えばいいじゃん?

とはいっても、viewにも多少の不満点があるのでそれを解決していきます。
ちなみに、vim内にあるless.shは.vimrcのkey mapが完全には反映されないので不採用です。

パイプ経由の場合と非経由の場合の判断

パイプ経由の場合、viewはview -で起動します。
これは引数の有無で判断させます。

.bashrc
alias less="_ViewForLess"
function _ViewForLess(){
    input="$@"
    if [[ "x${input}" != "x" ]] ; then
        view "${input}"
    else
        view -
    fi
}

行番号の表示/非表示

lessとvim系は、多少同じコマンドが使えます。(/による検索やgによる移動など)
ただ、vimでは行番号の表示/非表示のコマンドが:set number/nonumberと、ちょっとだけ冗長です。
これはkey mapで解決できました。
以下の設定によりmで行番号の表示/非表示がtoggleできます。

.vimrc
set number
nnoremap m :set number!<CR>

行番号の色変更

行番号の色を変更します。
color themeとの併用もできます。

.vimrc
highlight LineNr ctermfg=120
autocmd ColorScheme * highlight LineNr ctermfg=120

beep音

beep音は邪魔なので消します。

.vimrc
set belloff=all

ペーストの変なインテントを解消する

vimは複数行の内容をペーストする場合、変なインテントが挿入されてしまいます。修正します。

.vimrc
set pastetoggle=<F2>

まとめ

.vimrc
" paste setting
set pastetoggle=<F2>
" no beep
set belloff=all
" show line number
set number

" Color
"" line number
highlight LineNr ctermfg=120
autocmd ColorScheme * highlight LineNr ctermfg=120

" key map
"" toggle line number
nnoremap n :set number!<CR>

おまけ

今回でお役御免になった正規のlessですが、そちらに関するおまけです。

source-highlightを使えば大半のファイルに対してsyntax-highlightがオンになるのですが、その際、export LESSOPEN='|/usr/share/source-highlight/src-hilite-lesspipe.sh %s'と設定するようにと指示されるのですが、それにより圧縮ファイルを含むbinaryファイルが開けなくなります
正直、無視していい程度のデメリットなのですが、/usr/bin/lesspipeをかませると解消できます。

.bashrc
alias less2='/usr/bin/less -R -N --QUIET'
export LESSOPEN='|/usr/bin/lesspipe | /usr/share/source-highlight/src-hilite-lesspipe.sh %s'
export VISUAL="vim"
0
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?