diff options
-rw-r--r-- | vimrc | 34 |
1 files changed, 34 insertions, 0 deletions
@@ -34,3 +34,37 @@ noremap <down> gj " toggle nerdtree with ctrl-o map <C-o> :NERDTreeToggle<CR> + +" Toggle word-wrap mode +" This will also fix movement keys so they move by visual +" lines instead of physical lines in word-wrap mode. +" See https://vim.fandom.com/wiki/Move_cursor_by_display_lines_when_wrapping +noremap <silent> <leader>w :call ToggleWrap()<CR> +function ToggleWrap() + if &wrap + echo "Wrap OFF" + setlocal nowrap + set virtualedit=all + silent! nunmap <buffer> <Up> + silent! nunmap <buffer> <Down> + silent! nunmap <buffer> <Home> + silent! nunmap <buffer> <End> + silent! iunmap <buffer> <Up> + silent! iunmap <buffer> <Down> + silent! iunmap <buffer> <Home> + silent! iunmap <buffer> <End> + else + echo "Wrap ON" + setlocal wrap linebreak nolist + set virtualedit= + setlocal display+=lastline + noremap <buffer> <silent> <Up> gk + noremap <buffer> <silent> <Down> gj + noremap <buffer> <silent> <Home> g<Home> + noremap <buffer> <silent> <End> g<End> + inoremap <buffer> <silent> <Up> <C-o>gk + inoremap <buffer> <silent> <Down> <C-o>gj + inoremap <buffer> <silent> <Home> <C-o>g<Home> + inoremap <buffer> <silent> <End> <C-o>g<End> + endif +endfunction |