Jak mogę wstawić znak wielokrotnie, aż do następnego wiersza?


11

Powiedz, że mam taki komentarz:

//This is a comment

Chcę to zrobić w ten sposób:

//*****************
//This is a comment
//*****************

Czy istnieje prosty sposób wielokrotnego wstawiania znaku, aż do następnego / poprzedniego wiersza?


Aby wygenerować takie wzorce, możesz użyć silnika fragmentów. Możesz przeczytać to pytanie, aby porównać wtyczki urywków. Na przykład, możesz zrobić z ultisnips ibox<key>This is a comment(gdzie <key> jest kluczem, który definiujesz, aby uruchamiać fragmenty), a to utworzy pudełko o odpowiednim rozmiarze z this is a commentwewnątrz.
statox

( 17a*<Esc>byłoby czymś, czego możesz użyć W podobnej sytuacji, w której znasz liczbę potrzebnych znaków lub dokładna liczba nie ma znaczenia, ponieważ nie musi być równomiernie wyrównana z inną linią.)
Aaron Thoma,

Odpowiedzi:



2

Przy okazji °:

Wstaw mapowania trybu, aby powielić pozostałą część sąsiedniej linii

" Insert the rest of the line below the cursor.
" Mnemonic: Elevate characters from below line
inoremap <A-e> 
    \<Esc>
    \jl
        \y$
    \hk
        \p
        \a
" Insert the rest of the line above the cursor.
" Mnemonic:  Y depicts a funnel, through which the above line's characters pour onto the current line.
inoremap <A-y> 
    \<Esc>
    \kl
        \y$
    \hj
        \p
        \a

Kopiowanie pojedynczych znaków z sąsiednich linii w trybie wstawiania

… Jest wbudowany :help i_CTRL-E:

CTRL-E   Insert the character which is below the cursor.
CTRL-Y   Insert the character which is above the cursor.

° Nie o to, o co chodziło w pytaniu, ale o to, czego mogli szukać inni użytkownicy, zaczynając od obecnego tytułu pytania „wstaw aż do następnego wiersza”.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.