vsvim
VsVim – małe info
Gdy źle ustawiłem jak rozwiązać konfliktujące skróty klawiaturowe:
Btw VsVim działa z Visual Studio 2017. https://marketplace.visualstudio.com/items?itemName=JaredParMSFT.VsVim
Extension z Visual Studio z których korzystam
- Resharper
- VsVim
- RelativeLineNumbers
Właściwie to mało, ale to wszytko czego potrzubuję. Pewnie czasami jeszcze coś o czym aktualnie nie pamiętam (nie mam zainstalowane na maszynie z której piszę).
Chociaż R# is VsVim to takie kobyły, że już więcej nic nie trzeba 🙂
Najnowszy VsVim – wolne visualstudiogallery
Gdy chcemy ściągnąć VsVim (super dodatek do Visual Studio – jak dla mnie 😉 to zazwyczaj wylądujemy na stronie oficjalnych dodatków do Visual Studio (Visual Studio Gallery). Problem z tym jest taki, że ta wersja jest rzadko aktualizowana (ostatnio lipiec – 8 miesięcy temu). A development idzie do przodu 🙂
Właściwym miejscem do ściągania jest więc Open VSIX Gallery . Tam lądują paczki po każdym commitcie do mastera na https://github.com/jaredpar/VsVim. Dzięki serwisowi AppVeyor.
Działa to w skrócie:
- pobierz najnowsze źródła
- puść skrypty Continuous Integration (budowanie, testowanie …)
- deploy jeśli wszystko poszło dobrze (tutaj właśnie na Open VSIX Gallery)
Polecam zainteresować się tego typu rozwiązaniami dla projektów Pet projects (za darmo dla Open Source).
VsVim – niekorzystanie ze strzałek
VsVim i jego vimowe podejście doskonale się sprawdza jeśli chodzi o operacje na “kodzie”. Przesuwanie, podmienianie, nawigacja – wszystko to bez użycia strzałek. Jednak jedno z narzekań jakie czasem słyszę to fakt, że ze strzałek trzeba korzystać gdy trzeba coś wybierać z menu kontekstowych lub z Resharperowych okienek. Nie jest to aż takie bolesne gdy zwróci się uwagę na kilka udogodnień.
Z menu kontekstowego można wybierać na pomocą klawiatury
Może to rzeczywiście nie być takie oczywiste ale można 🙂 Każda taka akcje ma przypisaną literkę (to ta PODKREŚLONA) po kliknięciu której odpali się akcja. Kilka przykładów:



W powyższych przypadkach sobie poradzimy 😀
Gdzie trzeba użyć strzałek
Niestety jest kilka miejsc gdzie się to nie uda:
WIP…
Przykładowe makra vs vim
Makro rozrzucające argumenty metody do nowych linii. (Jako że szukamy ‘, ‘ to zadziała nawet gdy jesteśmy w miejscu gdzie właśnie utworzyliśmy ‘private readonly IService _service’ i inicjalizujemy z konstruktowa.)
0/, <ENTER>ls<ENTER><ESC>
pod literka ‘c’ jako ‘ctor’.
Z jakiegoś powodu ‘(‘ i ‘)’ nie sa widoczne w moich makrach lub zle sie wstawiaja. Any idea?
Add detailed logging to Debug
Sytuacja przed:
var destinationType = _typeMapperService.GetByteArrayBasedType(sourceType);
Sytuacja po:
var destinationType = _typeMapperService.GetByteArrayBasedType(sourceType); Debug.WriteLine("destinationType '{0}", destinationType.FullName);
VsVim journey
>> indent
<< unindent
:vmap >>
:vmap <<
from https://github.com/jaredpar/VsVim/issues/1133
http://vim.wikia.com/wiki/Search_and_replace
“2p – numbered registers – przedostatni
For example when you put this in your .vimrc
vmap r "_dP // it's a capital 'p' on the end
From http://stackoverflow.com/questions/54255/in-vim-is-there-a-way-to-delete-without-putting-text-in-the-register
Esc zamiast CapsLock
CapsLock jest naprawdę zbędnym klawiszem, a w Vim Escape jest używany dość często. Proponuję je przemapować.
http://vim.wikia.com/wiki/Map_caps_lock_to_escape_in_Windows
Ja skorzystałem z opcji AutoHotkey. Najprostsze rozwiazanie czyli plik z rozszerzeniem .ahk, np escFromCapsLock.ahk posiadający jedną linijkę:
Capslock::Esc
Taki skrypt dodajemy do Autostartu.
Problem, Praca w trybie Administratora: jeśli mamy program uruchomiony w trybie Administratora to powyższy skrypt nie zadziała. Żeby już nie kombinować za bardzo to wtedy odpalam sobie ten skrypt ręcznie jako Administrator.
Domyślny schowek Vima jest także schowkiem Windowsowym
Dodajemy do _vimrc:
:set clipboard=unnamed
Źródło: http://stackoverflow.com/questions/11489428/how-to-make-vim-paste-from-and-copy-to-systems-clipboard
zz, zt, zb – position cursor at middle, top, or bottom of screen
http://stackoverflow.com/questions/1276403/simple-vim-commands-you-wish-youd-known-earlier