Witam,
Chciałbym otrzymany plik tekstowy zapisać w nowym miejscu zmieniając wcześniej jego zawartość. Od początku:
1) Otrzymany plik tekstowy zawiera ciąg losowych znaków, np: adjjahbubuyges7t673.25255211jshjibv
2) Chciałbym za pomocą vim'a uzyskać plik z tekstem 73.25255.
3) Pytanie, jak wysterować (jaki napisać skrypt) ten edytor aby:
-znalazł z tekstu kropkę
-zapisał dwa znaki przed nią
-zapisał 5 znaków za nią
-całość połączył zapisując w nowym pliku testowym
Pomożecie?
Zautomatyzowanie edycji w vim
-
- Beginner
- Posty: 126
- Rejestracja: 02 lipca 2013, 22:31
-
- Beginner
- Posty: 257
- Rejestracja: 14 maja 2013, 17:18
do zmiany znaków korzystam z takiej funkcji (w pliku konfiguracyjnym vimrc):
CTRL+ALT+f6 przywoła ci funkcję,
wprowadzasz "input" na "output" , potwierdzasz enterem.
a na koncu mozesz np. dac "a", czyli all
ale generalnie to nie jest losowy ciąg znaków, ale konkretne wartości.
Spróbuj, może akurat ci się przyda
Kod: Zaznacz cały
function! Zastap() call inputsave()
let zastap1 = input('Input (wejscie): ')
let zastap2 = input('Output (wyjscie): ')
call inputrestore()
exec ":%s/" . zastap1 . "/" . zastap2 . "/gc"
endfunction
nmap <C-A-F6> <nop>
nnoremap <C-A-F6> :call Zastap()<CR>
vnoremap <C-A-F6> :call Zastap()<CR>
inoremap <C-A-F6> <ESC>:call Zastap()<CR>
CTRL+ALT+f6 przywoła ci funkcję,
wprowadzasz "input" na "output" , potwierdzasz enterem.
a na koncu mozesz np. dac "a", czyli all
ale generalnie to nie jest losowy ciąg znaków, ale konkretne wartości.
Spróbuj, może akurat ci się przyda

-
- Beginner
- Posty: 126
- Rejestracja: 02 lipca 2013, 22:31