Vim - otwieranie plików w zakładkach


(Kojot) #1
  1. Po uruchomieniu vima, chciałbym mieć możliwość otwarcia kilku plików pasujących do wzorca, każdy w osobnej zakładce.

Wykonanie komendy:

:tabe *.rb

wyświetla błąd:

. Mogę wykonać zestaw komend:

:args *.c | tab all | syntax on

ale jest to dość kłopotliwe.

Być może ktoś z Was już ma w swoim .vimrc rozwiązanie i chciałby się podzielić.

  1. Chciałbym również, żeby vim domyślnie uruchamiał ładując pliki do zakładek, zamiast do buforów. Jak skonfigurować vima, by robił to domyślnie, bez używania opcji -p?

(Kaka') #2

Hmm. Również się z tym bawiłem i postawiłem trochę na łatwiznę. W katalogu źródeł, którymi aktualnie się znajduję, tworzę prosty skrypt w bashu, który po uruchomieniu po prostu ładuje wszystkie pliki do zakładek (ale oczywiście z opcją -p). Rozważałeś stworzenie takiego skryptu?


(Kojot) #3
  1. Znalazłem tutaj rozwiązanie:

http://vim.1045645.n5.nabble.com/multip ... 69376.html

Dodanie linijki:

set tabpagemax=25

com! -bang -nargs=+ -complete=file Tabargs args|tab all|argd *

do .vimrc daje dostęp do polecenia :Tabargs, które działa dokładnie tak jak chciałem. 2. Nie chcąc bawić się w tworzenie skryptów dodałem po prostu do .bashrc:

alias gvimp='gvim -p' 

alias vimp='vim -p'

Próbowałem jeszcze w gvimie ustawić sobie przełączanie zakładek oraz kopiowanie i wklejanie tekstu. Mam jednak pewną wątpliwość: czy vim/gvim rozróżnia naciśnięcia klawiszy: ctrl-shift-klawisz, od ctrl-klawisz?


(Kaka') #4

Rozróżnia. Osobiście przełączanie zakładek podpiąłem pod e-Fy - tj, F4 (prev) i F5 (next).


(Airborn) #5

Miałem z tym pewne problemy, ogólnie skończyło się na czymś takim:

nmap "+gP

imap i

vmap "+y

Czasem wklei o jeden znak za wcześnie, ale rzadko się to zdarza i nie wiem z czego wynika błąd :confused:


(Kojot) #6

Ja zrobiłem to tak:

nmap "+gP

imap i

vmap "+y

nie zauważyłem, żeby coś dziwnego się tutaj działo.

Trzeba zaznaczyć, że Visual block mode jest w gvimie również pod , także nadpisując nic nie tracimy.

Zobacz, że przypisując coś pod możemy to równie dobrze wywołać przez .

Także moim zdaniem ani vim, ani tym bardziej gvim nie rozróżnia od .

Faktycznie w vimie i są interpretowane jako kopiuj wklej, ale robi to terminal, a nie vim. W pozostałych kombinacjach nie ma znaczenia, czy naciśniemy shift, czy nie.