0

行の最初の非空白文字にジャンプするために、vimrc に次の関数があります。

function! SmartHome()
  let s:col = col(".")
  normal! ^
  if s:col == col(".")
    normal! 0
  endif
endfunction

これは、tmux セッションの外でもうまく機能します。しかし、tmux セッション内では、行の最初の文字にジャンプするだけです。これは間違っています!

この関数を次のようにマッピングしました。

" smart home function
nnoremap <silent> <Home> :call SmartHome()<CR>
inoremap <silent> <Home> <C-O>:call SmartHome()<CR>

どうすればこれを解決できますか?

4

1 に答える 1

0

.bashrc ファイルから次の行を削除することで、この問題を解決できました。

export TERM=xterm-256color

これは、tmux からの xterm と画面の "like" プロトコルが HOME キーに対して同じ値を送信/期待しないため、機能します。

$ tput -T screen khome | xxd
0000000: 1b5b 317e                                .[1~
$ tput -T xterm khome | xxd
0000000: 1b4f 48                                  .OH
于 2013-07-25T07:03:40.597 に答える