C'è un movimento poco noto che soddisfa questa esigenza indipendentemente dalla configurazione dei comportamenti di Windows e può generalmente essere utile in altri contesti: g_
. Disse :help g_
:
g_ To the last non-blank character of the line and
[count - 1] lines downward |inclusive|. {not in Vi}
personalmente non tendono ad usare questo per tirando perché evito la sequenza di tasti in più visivo modalità e utilizzare y$
(che non copia il ritorno a capo, come @zigdon suggerito). O meglio ancora, nnoremap Y y$
in modo che Y
funzioni in modo coerente con C
e D
.
Tuttavia, utilizzo spesso g_
con surround.vim in cui i mapping per aggiungere surround sono spesso più difficili da ricordare per me che utilizzare la selezione visiva. Se si desidera selezionare fino alla fine della riga e circondare con parens, ad esempio, sarebbe ys$)
, che non è male, ma io tendo a dimenticare il mnemonico ys
. v$S)
sembra naturale ma ha lo stesso problema della tua domanda: include la nuova linea, e questo è un casino totale quando aggiungi i surround. vg_S)
è esattamente quello che di solito si desidera.
Una cosa bella di farlo visivamente è che è possibile correggere mid-selezione: ho ancora tendono a colpire v$
dalla memoria muscolare molto, ma se si vede che hai superato prima di agire, si può ancora colpire g_
e correggi la selezione.
Questo funzionerebbe, non ci avevo pensato, grazie! Sono curioso, però, perché le diverse versioni di Vim si comportano diversamente. –
Non avendo fatto molto con vim su Windows, non potrei dirti :) – zigdon
In realtà nella mia installazione di Vim7.2 su WinXP, 'vy $' aggiunge anche la nuova riga, quindi il comportamento di MacVim è corretto. –