Есть ли консольный редактор под Linux, понимающий разные кодировки?

Elina74

Хотя бы эти:
CP1251, 866, KOI8-R
Может быть это не принципиально, но Linux - Debian.
Что-нибудь типа редактора, который есть в Volkov Commander...

artimon

Я буду неоригинален.
vim

Elina74

Otlichno, ya uzhe zapustil ego. Nazhal F1 i popal v razdel pomoschi. Vnimanie - vopros - kak iz nego vyjti?

pollak

q!

maksimys19

Если нужен файловый менеджер типа VC, NC, то поставь Midnight Commander (MC). Редактор в нем есть, насчет кодировок не знаю.

Elina74

MC u menya uzhe stoit, kodirovkami krome KOI8-R tam ne pahnet.
2 - spasibo. Menya pereglyuchilo, ya pytalsya pisat' :q v russkoj raskladke. Odnako vim - ne sovsem to, o chem ya mechtal vsyu zhizn'. Ved' to zhe samoe mozhno delat' ne zapominaya ogromnogo mnozhestva komand...

artimon


*help.txt* For Vim version 6.2. Last change: 2003 May 11
VIM - main help file
k
Move around: Use the cursor keys, or "h" to go left, h l
"j" to go down, "k" to go up, "l" to go right. j
Close this window: Use ":q<Enter>".
Get out of Vim: Use ":qa!<Enter>" (careful, all changes are lost!).
Jump to a subject: Position the cursor on a tag between |bars| and hit CTRL-].
With the mouse: ":set mouse=a" to enable the mouse (in xterm or GUI).
Double-click the left mouse button on a tag between |bars|.
jump back: Type CTRL-T or CTRL-O (repeat to go further back).
Get specific help: It is possible to go directly to whatever you want help
on, by giving an argument to the ":help" command |:help|.
It is possible to further specify the context:


Первое, что написано при нажатии на F1
Читай
:help fenc
:help enc
:help tenc

artimon

Можно запомнить две: :q и :w
Попробуй evim

shlyumper

vim, emacs, а так же любой другой через iconv

Elina74

Чтобы увидеть виндовозный текст там нужно какие-нибудь телодвижения шаманские делать?
Я запустил vim filename. И ничего хорошего не увидел...

artimon

1. Запусти vim
2. Набери :e ++enc=cp1251 file.txt
3. Радуйся.

Elina74

Sdelal vse, kak vy opisali, k sozhaleniyu ne rabotaet, vidno vse to zhe, kak i ran'she. Vnizu napisano: "filename.txt" [noeol][NOT converted][dos] 15L, 883C 1,1 All

artimon

Радуйся. Тебе придётся перекомпилировать vim с установленым флагом +multi_byte.
Или попробуй emacs
Или попробуй iconv.

shlyumper

кусочек моего .vimrc:


set termencoding=koi8-r
map <F3> :set encoding=8bit-cp1251<CR>
map <F4> :set encoding=koi8-r<CR>

dus1970

[deleted]

89147510881

а в этом самом МС никак нельзя другие кодировки прихреначить?

Anturag

MC u menya uzhe stoit, kodirovkami krome KOI8-R tam ne pahnet.
В mc у меня (точнее в mcview) есть разнообразнейшие кодировки - ISO 8859-1,2,5; Windows 1250,1251; CP 437,850,852,866; KOI8-R,U - вполне достаточно
Переключаются Ctrl-t.
Только боюсь, что у вас в mc этого не будет (также например как и SMB браузера у меня просто

$mc -V
GNU Midnight Commander 4.6.1-pre1
Virtual File System: tarfs, extfs, cpiofs, ftpfs, fish, smbfs
With builtin Editor
Using included S-Lang library with terminfo database
With subshell support as default
With support for background operations
With mouse support on xterm and Linux console
With internationalization support
With multiple codepages support
$

Jackill

IMHO: редакторы, понимающие разные кодировки просто не нужны, потому что делать это - не их задача. Перекодировать можно при помощи iconv, например:
inconv -f cp1251 -t koi8-r from_file > to_file
Попробуй сказать iconv --list, и количество поддерживаемых кодировок несомненно порадует тебя.

artimon

Ты не совсем прав.
Во-первых набор символов в cp1251, сз866 и koi8-r разный.
Во-вторых iconv вылетает на первом же недопустимом, с его точки зрения, символе.
В-третьих iconv не понимает BOM (Byte Order Mark) в UTF-8 файлах.

Jackill

прочитай ещё раз man iconv

artimon


ICONV(1) ICONV(1)
NAME
iconv - Convert encoding of given files from one encoding to another
SYNOPSIS
iconv -f encoding -t encoding inputfile
DESCRIPTION
The iconv program converts the encoding of characters in inputfile from one coded
character set to another. The result is written to standard output unless otherwise
specified by the --output option.
--from-code, -f encoding
Convert characters from encoding
--to-code, -t encoding
Convert characters to encoding
--list
List known coded character sets
--output, -o file
Specify output file (instead of stdin)
--verbose
Print progress information.
AUTHOR
iconv is written by Ulrich Drepper as part of the GNU C Library.
This man page is written by Joel Klecker <debian.org>, for the Debian
GNU/Linux system.
Red Hat Linux March 2001 ICONV(1)


Прочитал
Где тут ответ хоть на один из пунктов?
в кодировке UTF-8. Переименуй в a.txt и попробуй выполнить команду

iconv -f utf-8 -t koi8-r a.txt

ma3yp

iconv --help значительно более разговорчивый, чем man iconv. По крайней мере, у меня.

bjo999

>Только боюсь, что у вас в mc этого не будет (также например как и SMB браузера у меня просто
у меня
sh-2.05a$ mc -V
GNU Midnight Commander, версия 4.6.0
Виртуальная файловая система: tarfs, extfs, cpiofs, ftpfs, fish, smbfs, undelfs
Со встроенным редактором
С включенной библиотекой S-Lang с базой данных terminfo
C поддержкой внутренней командной оболочки
С поддержкой фоновых операций
С поддержкой мыши в xterm
С поддержкой интернационализации
С поддержкой многих кодировок

Elina74

Kruto! Ya vse-taki postavil MC 4.61-pre. I glavnoye, on rabotaet! Spasibo, vopros, vidimo, zakryt.

shlyumper



$ iconv -c -f utf-8 -t koi8 2>/dev/null < a.utf
Hello
Привет
$


а что там должно было быть?

artimon

Это и должно.
ОК. „Во-вторых“ и „В-третьих“ снимается, но остаётся „Во-первых“.
Если мне нужно редактировать файл в кодировке cp1251 в котором есть, например, символы „—“ или „«“, то перекодировка в koi-8 не поможет. Да и вообще геморно перекодировать в koi-8, редактировать, а потом перекодировать обратно.
Оставить комментарий
Имя или ник:
Комментарий: