Ostatnio robiłem PKGBUILD dla wtyczki do vima: vjde. Kodowanie niektórych plików według enca było nierozpoznane a polecenie file podawało: ISO-8859 English text lub ISO-8859 C++ program text. Dlatego enconv nie mógł zmienić kodowania na domyślne (u mnie utf8). Ostatecznie musiałem użyć iconv. Problem stanowił jakie jest na prawdę kodowanie plików. W tym przypadku pomógł vim.

Komentarze umieszczone w plikach były po chińsku. Przy moich domyślnych ustawieniach fencs vim nie wykrywał fenc( to znaczy fenc albo nie miał żadnej wartości albo równało się iso-8859-1). Po zmianie na gbk,utf8,default wykrył kodowanie jako cp936. Dalej już wystarczył iconv z opcjami:

iconv -c -f cp936 -t utf8

Właściwie wystarczyło wcześniej wywołać iconv z opcją -f gbk i też zamieniało na utf8. Ciekawe, że wcześniej mi to nie działało a dzisiaj jak sprawdzam to działa.

Tags: , ,

Do vima jest świetny dodatek ManPageView. Niestety skrypt nie generuje żadnego błędu jeśli nie znajdzie żadnej strony pomocy. Dlatego warto go trochę zmodyfikować:

--- autoload/manpageview.vim.orig   2011-11-17 23:45:08.350959826 +0100
+++ autoload/manpageview.vim    2011-11-17 23:44:46.010959564 +0100
@@ -652,6 +652,7 @@
"   call Decho("***warning*** no manpage exists for <".manpagetopic."> book=".manpagebook)
echohl ErrorMsg
echo "***warning*** sorry, no manpage exists for <".manpagetopic.">"
+   let v:errmsg="no manpage exists"
echohl None
sleep 2
if exists("g:mpv_before_k_posn")

Można się jeszcze pokusić o zmniejszenie wartości dla polecenia sleep, w skrypcie na sztywno jest ustawione na 2s. Lub całkowite jego usunięcie. Mając teraz generowany błąd można obudować to funkcją i cyklicznie wywoływać właściwą funkcję np.

function! DisplayManpage()
let filename = expand("%")
let short_filename = expand("%:r")
let filetype = &filetype
call manpageview#ManPageView(0,0,filename)
if v:errmsg == "no manpage exists"
call manpageview#ManPageView(0,0,short_filename)
if v:errmsg == "no manpage exists"
call manpageview#ManPageView(0,0,filetype)
endif
endif
endf
nmap <silent> <F1> <Esc>:call DisplayManpage()<CR>

Tags:

Czasem stary bidon może się przydać. Poniżej widać „nowe” mocowanie dla akumulatora dla lampki MagicShine MJ-808.

2011-10-27 14.53.02.jpg2011-10-27 14.52.32.jpg

Tags: , ,

Od jakiegoś czasu testuję na powrót serwer www nginx. Jedyne czego mi na dzień dzisiejszy brakuje w tym serwerze to alternatywy dla suphp lub czegoś podobnego. Na wielu stronach opisany jak wdrożyć obsługę php dla nginxa dlatego bardziej się skupię na rozwiązaniu dla wielu użytkowników Read the rest of this entry »

Tags: , , ,

W Bashu od wersji 4 w ciekawy sposób można przechwycić sytuację gdy wykonywanego polecenia nie znaleziono.

bash: xxx: command not found
#lub
bash: xxx: nie znaleziono polecenia

Wystarczy teraz zdefiniować funkcję command_not_found_handle i możemy już przechwytywać sytuacje gdy skrypt nie zadziała poprawnie ponieważ brakuje jakiegoś polecenia.

Tags:

Strona 1 z 1512345678910...Ostatnia »