Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
varc3000
0 / 0 / 0
Регистрация: 23.09.2016
Сообщений: 8
1

При использовании команд Vim в CMD в текстовый файл записываются кракозябры

01.01.2017, 14:44. Просмотров 356. Ответов 3
Метки нет (Все метки)

Пытаюсь при помощи Vi найти и заменить текст через cmd. Выходит крякозябрами.
Код
"C:\Program Files (x86)\Vim\vim80\vim.exe" -c "s/вася/таня/g | set fenc=CP1251 wq" C:\Users\varc\Desktop\7.txt
В самом Vi (7.txt файл) кодировка cp1251\отображение в UTF-8.
Пробовал делать по Русский текст в консоли - 2,3,4 способы не помогают. Прошу помощи, ибо запутался.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.01.2017, 14:44
Ответы с готовыми решениями:

Отказ в доступе при использовании команды mls в CMD
Всем доброго вечера! Начал изучать сетевую часть CMD, конкретнее FTP. ...

Переменной не присваивается новое значение при использовании оператора IF с заключённым в скобки блоком команд
Здравствуйте. Подскажите пожалуйста, "в каком месте спрятался кот"? Суть...

Ошибка "Непредвиденное появление" при использовании оператора условного выполнения команд
Приветствую. Есть некоторый код, который правильно выполняется, но вот функция...

Строка команд в CMD
Составить строку команд, которая будет из информации о директории, получаемой с...

Управление ПК с помощью команд CMD
Крч делаю очиститель от разных программ которые были закинуты на ПК через...

3
volodin661
1865 / 923 / 154
Регистрация: 10.12.2013
Сообщений: 3,097
02.01.2017, 11:41 2
Первое, о чём хочется сказать, это то, что файлы, в которых текст содержится в кодировке отличной от Unicode -
это тяжёлое наследие царского режима и таких ситуаций следует избегать.

Второе, о чём хочется сказать, это то, что с настройками по умолчанию всё работает само.
Windows Batch file
1
2
chcp 1251
vim -c %s/заяц/фигаец/ -c exit test.txt
Настройки:
Код
Windows XP eng, русская локаль 
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Nov  6 2016 17:05:36)
Консольная версия для MS-Windows 32 бит
Заплатки: 1-69

fileencodings=ucs-bom
fileencoding=
encoding=cp1251
termencoding=
1
varc3000
0 / 0 / 0
Регистрация: 23.09.2016
Сообщений: 8
03.01.2017, 20:25  [ТС] 3
Большое спасибо за ответ. Оказывается, проблема была в настройках Vi.
У меня стояло
Bash
1
2
3
4
set encoding=utf-8
set termencoding=utf-8
set fileencoding=utf-8                              
set fileencodings=utf-8,cp1251,koi8-r,cp866
поменял на ваши настройки и заработало. Но почему - я так и не понял. Все равно вручную я писал fileencoding для файла...
0
volodin661
1865 / 923 / 154
Регистрация: 10.12.2013
Сообщений: 3,097
04.01.2017, 18:59 4
до конца ситуация мне и самому неясна, несмотря на тщательное
изучение документации( встроенный help) по этому поводу.

Если посмотреть на твои настройки,
то по идее ты бы не увидел экране русские буквы при открытии данного файла редактором Vim,
если файл, как ты утверждаешь, был в кодировке windows-1251.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.01.2017, 18:59

Текст в консоли выглядит нормально, но при перенаправлении вывода в файл кракозябры в тексте снова появляются
Друзья! Есть файл hello.txt (содержание: "Hello, word!" + кракозябры, кодировка...

Несколько команд в Cmd через bat
Добрый вечер! Подскажите как через cmd мне сделать несколько операций.На...

Не могу вызвать командой HELP список команд CMD
Не могу вызвать список команд через help


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru