Zgaduję, że prawdopodobnie nie używasz vim
... więc może to po prostu posłuży jako zachęta do nauki, a może krótki poradnik .....
$ vim *
otworzy wszystkie pliki;
:!mkdir mine/; mkdir notmine/
utworzy katalogi o nazwach „mój” i „notmine”;
:!mv % mine/
przeniesie bieżący plik do katalogu o nazwie „mój”;
:bdel
usunie ten plik z tych, z którymi ma do czynienia vim i przejdzie do następnego;
:!mv % notmine/
przeniesie bieżący plik do katalogu o nazwie „notmine”. Co się dzieje z tymi poleceniami ruchu to
:
wchodzi w tryb wiersza poleceń
!
uruchamia polecenie powłoki
%
powoduje, że vim zastępuje nazwę bieżącego pliku. Jeśli którakolwiek z nazw plików zawiera spacje , musisz podwójnie cytować %
argument, np :!mv "%" mine/
.
Trafienie :
, następnie b
, następnie strzałka w górę, aby uzyskać :bdel
polecenie ponownie.
Trafienie :
, następnie !mv
, a następnie powtarzaj strzałkę w górę, aby przejść przez poprzednią !mv ...
polecenia. Możesz także po prostu wpisać :!
a następnie strzałka w górę, ale dostaniesz !mkdir...
również polecenie.
W przypadku, gdy jeszcze się nie domyśliłeś, strzałka w górę w „trybie wiersza poleceń” vima (wprowadzanie przez naciśnięcie :
w „trybie normalnym”) spowoduje, że przejdzie on przez poprzednie polecenia, które zaczynają się od tego, co już tam wpisałeś.
Poza tym, jeśli nie robisz tego bez wcześniejszego doświadczenia z vimem, muszę najpierw pochwalić cię za tak śmiały ruch, a następnie poinformować cię, że jeśli w dowolnym momencie przypadkowo uderzysz klawisz na klawiaturze i zaczynasz właściwie wpisywać rzeczy do pliku lub rzeczy inaczej działają nieoczekiwanie, trafienie <ESC>
kilka razy, a potem u
aby cofnąć wszelkie zmiany, które zrobiłeś przypadkowo . Jeśli cofniesz się zbyt daleko (tak naprawdę nie stanowi to problemu w tym przykładzie, ponieważ nie zamierzasz modyfikować żadnych plików), trafiłeś <CTRL>-R
przerobić rzeczy, które właśnie cofnąłeś. The <ESC>
wyprowadzi Cię z trybu Insert lub Visual, z powrotem do trybu Normalnego, czyli tam, gdzie wszystkie te polecenia faktycznie działają.
Dobra .. po tym małym PSA, wróć do naszego regularnego programowania.
Aby usprawnić przetwarzanie plików, możesz skonfigurować kilka makr:
qm:!mv % mine/<CR>:bdel<CR>q
W rzeczywistości spowoduje to przeniesienie bieżącego pliku i upuszczenie go z „listy buforów” vima, więc upewnij się, że jest to jeden z twoich podczas konfigurowania tego makra. Zauważ, że <CR>
oznacza to, że w tym momencie nacisnąłeś klawisz ENTER; właściwie nie pisz <CR>
.
qn:!mv % notmine/<CR>:bdel<CR>q
Ta sama umowa tutaj.
Następnie, aby przenieść plik do katalogu „kopalnia” i przejść na listę buforów, robisz
@m
Albo jeśli nie jest twoje
@n
W rzeczywistości mądrzej byłoby odwzorować te makra na litery, które są dalej na klawiaturze niż m
i n
.. ale to podstawowy pomysł.
Jak powiedział Mark, musisz dokładniej określić pliki. Zamiast gedit możesz użyć
less
pager lubhead/tail
aby wyświetlić części pliku, a następniemv
narzędzie do przenoszenia. To powinno nieco przyspieszyć proces.W przypadku podejścia programistycznego, w zależności od rozmiaru pliku i gdyby zmieścił się na jednym ekranie, można zrobić coś z tą logiką:
więc zasadniczo twój program pokaże Ci zawartość każdego pliku, a jeśli chcesz go przenieść, naciśnij
Y
, inaczej naciśnijN
. W ten sposób każdy plik może być obsługiwany w 1 lub 2 naciśnięciach klawiszy, w zależności od tego, jak go napiszesz.źródło
Byłem znudzony:
źródło
shift
, oops, naprawiony, dzięki.Przypuszczam, że już to wiesz, ale dla dobra innych możesz użyć głowy (lub ogona), aby pokazać kilka pierwszych wierszy pliku. To będzie bardziej wykonalne niż drukowanie całej rzeczy.
I oczywiście pisz skrypt bash =)
w tle programowania myślę, że to howto byłoby całkiem odpowiednie do programowania takiego skryptu http://tldp.org/LDP/abs/html/internal.html
(i jestem na tyle leniwy, żeby nie pisać)
źródło
Zastanawiałem się, czy naiwne klasyfikatory bayesowskie mogą zastosować kod i znaleźć Wielebny DivMod . Uderzyła mnie linia:
Wygląda trochę starzej, ale znowu wielebny Bayes też nie robi się młodszy. Jest on dostępny jako pakiet python-revere Ubuntu, ale jestem teraz zbyt śpiący, aby podklasować rozpoznawanie w tej chwili.
źródło
Czy mógłbyś dokładniej określić, dlaczego grep nie spełni twoich potrzeb? Jeśli nie ma dostrzegalnej „metody szaleństwa”, to jedynym sposobem jest ręczne. Nie można automatycznie / programowo sortować rzeczy, jeśli nie ma żadnych warunków do sortowania.
źródło