Какие операции с файлами можно выполнять при работе в текстовом редакторе
Обновлено: 21.11.2024
Одна из самых основных операций, которые вам нужно будет выполнять в системе Unix, — это редактирование текста. Если вы готовите документ, пишете программу или отправляете электронное письмо коллеге, вам понадобится утилита, позволяющая вводить и редактировать текст.
Общие возможности редактора emacs
Emacs — это визуальный редактор. Это означает, что у вас есть представление всего документа на экране, и вы можете свободно перемещаться, редактируя любую часть документа по своему желанию. Старые редакторы, называемые построчными редакторами, требовали, чтобы все изменения в файл вносились построчно. Каждая команда строкового редактора задавала номер строки и изменения, которые должны быть применены к этой строке. Построчные редакторы — это действительно ужасная штука, и вам должно повезти, если вы никогда их не видели.
Emacs использует управляющие и escape-символы, чтобы отличать команды редактора от текста, вставляемого в буфер. В этом документе обозначение «Control-X» означает удержание нажатой клавиши управления и ввод буквы x. Вам не нужно использовать заглавную букву x или любой другой управляющий символ, удерживая нажатой клавишу Shift. "ESCAPE-X" означает нажать клавишу выхода, отпустить ее, а затем ввести x.
Работа с буферами
Когда вы редактируете файл в emacs, вы на самом деле не редактируете сам файл, поскольку он находится где-то на диске. Вместо этого emacs делает копию файла и сохраняет эту копию в части оперативной памяти, называемой буфером. Все изменения, которые вы вносите в файл, применяются к буферу. Когда вы сохраняете файл, emacs записывает содержимое буфера на диск.
Поскольку буфер находится в оперативной памяти, он исчезает при отключении питания или сбое системы. Таким образом, вы должны часто использовать команду сохранения, сбрасывая ваш текущий буфер на диск. После того как файл окажется на диске, отключение питания или системный сбой не повредят ему.
Основные операции в emacs
Запуск emacs
Чтобы запустить emacs, просто введите команду emacs в оболочку Unix. Если вы хотите, чтобы emacs запускался с файлом, уже загруженным в буфер, введите имя файла emacs, где "имя файла" — это имя файла, который вы хотите отредактировать.
Выход из emacs
Чтобы выйти из emacs и вернуться в оболочку Unix, нажмите Control-X-Control-C. Если вы вносили изменения в буфер с момента последнего сохранения его на диск, emacs спросит вас, хотите ли вы его сохранить. Введите y, если да, или n, если нет.
Получение помощи
Emacs имеет интерактивную справочную систему, которую можно вызвать, нажав Control-H. Если вы введете вопросительный знак (?), emacs представит список разделов справки, которые вы можете выбрать.
Отображение emacs
Дисплей в emacs разделен на три основные области. Верхняя область называется текстовым окном. Текстовое окно занимает большую часть экрана, и в нем отображается редактируемый документ. В нижней части текстового окна есть единственная строка режима. Строка режима дает информацию о документе и о сеансе emacs. Нижняя строка экрана emacs называется мини-буфер. Мини-буфер содержит место для команд, которые вы даете emacs, и отображает информацию о состоянии.
Отмена команды
Работа с файлами
Чтобы прочитать файл с диска в буфер emacs, введите команду Control-X-Control-F. Emacs спросит у вас имя файла. Когда вы вводите имя файла, оно будет отображаться в мини-буфере. Когда вы ввели имя файла, нажмите клавишу возврата, и emacs загрузит файл в буфер и отобразит его в текстовом окне.
Команда для сохранения содержимого буфера в файл на диске — Control-X-Control-S. Команда сохранения перезаписывает старую версию файла. Вы также можете записать содержимое буфера в другой файл с помощью команды Control-X-Control-W. Emacs запросит у вас имя файла, который вы хотите создать.
Чтобы создать новый файл, используйте Control-X-Control-F, как если бы файл уже существовал. Когда emacs запросит у вас имя файла, введите имя, которое вы хотите, чтобы ваш новый файл имел, и emacs создаст файл и отобразит пустой буфер, который вы должны ввести.
Emacs выполнит за вас завершение имени файла. Введите часть имени нужного файла и нажмите пробел или клавишу табуляции, чтобы emacs завершил имя файла. Если указанное вами частичное имя соответствует более чем одному файлу, emacs отобразит список всех возможных совпадений. Вы можете продолжать вводить имя файла и нажимать любую клавишу завершения файла, пока не найдете нужный файл.
Движение курсора
- Control-F перемещает курсор вперед к следующему символу.
- Control-B возвращает курсор к предыдущему символу.
- Control-N перемещает курсор на следующую строку.
- Control-P перемещает курсор на предыдущую строку.
- Control-A перемещает курсор в начало текущей строки.
- Control-E перемещает курсор в конец текущей строки.
- ESCAPE-F перемещает курсор вперед к следующему слову.
- ESCAPE-B возвращает курсор к предыдущему слову.
- ESCAPE-< перемещает курсор в начало буфера.
- ESCAPE-> перемещает курсор в конец буфера.
Вставка и удаление текста
Чтобы вставить текст в буфер, поместите курсор туда, где вы хотите начать вставку текста, и начните вводить текст.
Если вы хотите вставить содержимое другого файла в текущий буфер, поместите курсор в нужную точку вставки и нажмите Control-X-I. Emacs спросит у вас имя файла, который вы хотите вставить.
Вы также можете вставить текст, вырезав его из одного места и вставив в точку вставки. Информацию о вырезании и вставке см. в следующем разделе.
- Control-D удаляет одну букву вперед.
- Control-K удаляет от точки до конца строки.
- ESCAPE-D удаляет одно слово вперед.
- ESCAPE-delete удаляет одно слово назад.
Вырезание и вставка текстовых областей
Emacs позволяет вам выбирать область текста и выполнять над ней операции вырезания и вставки. Он использует область временного хранения, называемую «буфером уничтожения», чтобы вы могли хранить и извлекать блоки текста. В emacs есть только один буфер уничтожения, что означает, что вы можете вырезать текст из одного документа и вставить его в другой.
Чтобы определить область текста, поместите курсор на один конец области и нажмите Control-пробел. Это устанавливает отметку. Затем переместите курсор на другой конец области. Текст между меткой и курсором определяет область.
Чтобы вырезать область текста и поместить ее в буфер уничтожения, используйте команду Control-W (вспомните Wipe).
Команда вставки — Control-Y. Он извлекает блок текста из буфера уничтожения и помещает его туда, где находится курсор. Команда Control-Y извлекает только последний вырезанный блок текста.
Вы можете вставить более ранние фрагменты, нажав ESCAPE-Y. Повторно использованная команда ESCAPE-Y возвращает вас к нескольким предыдущим текстовым блокам, которые были вырезаны. Команда ESCAPE-Y не работает, если сначала вы не нажмете Control-Y.
Вы можете скопировать область текста в буфер уничтожения, не вырезая его. Определите текстовый блок, установив метку на одном конце и переместив курсор на другой конец. Затем введите ESCAPE-W.
Отмена изменений
Внесенные в файл изменения можно отменить, введя команду Control-_. (Это Control-underscore. На некоторых клавиатурах для ввода символа подчеркивания нужно удерживать одновременно клавиши Control и Shift.)
Многие текстовые редакторы могут отменить только самую последнюю команду, но emacs запоминает длинную историю команд, позволяя вам отменить многие изменения, повторно введя код Control-_.
Настройка Emacs
Редактор emacs можно настроить несколькими способами. Вы можете настроить свои собственные привязки клавиш, создать свои собственные макросы и даже создать свои собственные пользовательские функции. Кроме того, некоторые аспекты поведения emacs контролируются переменными, которые вы можете установить.
Вы можете узнать больше о функциях emacs, вызвав интерактивную справку (набрав ESC-X help), а затем нажав клавишу "f", чтобы просмотреть список функций. Нажатие пробела для завершения приведет к тому, что emacs отобразит список всех встроенных функций. Аналогичным образом можно получить список переменных, вызвав интерактивную справку, затем набрав «v», а затем пробел.
Если вы поместите настройки переменных, привязки клавиш и объявления функций в текстовый файл с именем ".emacs" в вашем домашнем каталоге, редактор emacs загрузит эти определения во время запуска. Вот файл конфигурации emacs с некоторыми основными определениями переменных и привязками клавиш для ознакомления.
Редакторы или текстовые редакторы — это программы, которые позволяют пользователю создавать и редактировать текстовые файлы. В области программирования термин «редактор» обычно относится к редакторам исходного кода, которые включают множество специальных функций для написания и редактирования кода. Блокнот, Wordpad — некоторые из распространенных редакторов, используемых в ОС Windows, а vi, emacs, Jed, pico — редакторы в ОС UNIX. Функции, обычно связанные с текстовыми редакторами: перемещение курсора, удаление, замена, вставка, поиск, поиск и замена, сохранение и т. д.
- Редактор строк: здесь вы можете редактировать только одну строку за раз или целое число строк. У вас не может быть свободной последовательности символов. Он позаботится только об одной строке.
Пример: телетайп, эдлин, теко - Потоковые редакторы. В редакторах этого типа файл обрабатывается как непрерывный поток или последовательность символов, а не номеров строк, что означает, что здесь вы можете вводить абзацы.
Пример: редактор Sed в UNIX - Экранные редакторы. В редакторах этого типа пользователь может видеть курсор на экране и может легко выполнять операции копирования, вырезания и вставки. Использовать указатель мыши очень просто.
Пример: vi, emacs, Блокнот - Текстовый процессор. Преодолев ограничения экранных редакторов, он позволяет использовать определенный формат для вставки изображений, файлов, видео, использования шрифта, размера и стиля. Основное внимание уделяется естественному языку.
- Редактор структуры. Редактор структуры ориентирован на языки программирования. Он предоставляет функции для написания и редактирования исходного кода.
Пример: IDE Netbeans, gEdit.
Некоторые другие редакторы:
- Полноэкранные редакторы. На компьютерах полноэкранный редактор или редактор, не отвлекающий внимание, – это текстовый редактор, который занимает весь экран с целью отстранения пользователя от ОС и других приложений. Это помогает пользователю сосредоточиться только на письме и не отвлекаться на другие приложения и загроможденный интерфейс. Часто полноэкранные редакторы имеют темный фон и текстовое поле со светлым текстом. Они включают в себя настраиваемые интерфейсы и такие функции, как подсчет слов.
Пример: Acme, Coderoom, FocusWriter - Многооконный редактор. Многооконный редактор позволяет работать с несколькими файлами одновременно, а также вырезать и вставлять текст из одного файла в другой путем извлечения и вставки. Две фундаментальные концепции, лежащие в основе многооконных редакторов, — это буфер и окна.
Буфер: Буфер содержит текст для редактирования. Текст может исходить из файла или совершенно нового текста, который вы хотите записать в файл. С файлом связан только один буфер.
Процесс редактирования
- Выбрана часть документа, которую необходимо отредактировать или изменить.
- определение того, как форматировать эти строки при просмотре и как их отображать.
- Укажите и выполните операции, изменяющие документ.
- Правильно обновите представление.
Вышеуказанные шаги включают фильтрацию, форматирование и перемещение.
- Форматирование: отображение на экране дисплея.
- Фильтрация: выявление основного/важного подмножества.
- Путешествие: поиск интересующей области.
Пользовательский интерфейс редакторов. Пользовательский интерфейс редакторов обычно означает ввод, вывод и язык взаимодействия. Устройства ввода используются для ввода текста, данных в документ или для обработки команд. Устройства вывода используются для отображения редактируемой формы документа и результатов выполненных операций/команд. Язык взаимодействия обеспечивает взаимодействие с редактором.
- Устройства ввода. Устройства ввода обычно делятся на устройства ввода текста, кнопочные устройства и устройства локатора. Текстовое устройство — клавиатура. Кнопочные устройства представляют собой специальные функциональные клавиши. Устройства локатора включают мышь. Существуют также специальные голосовые устройства, которые записывают в текст все, что вы говорите.
- Устройства вывода:TFT-мониторы, принтеры, телетайпы, технология электронно-лучевой трубки, усовершенствованные ЭЛТ-терминалы.
- Язык взаимодействия:Язык взаимодействия может быть ориентирован на набор текста или текстовую команду, а также может быть пользовательским интерфейсом, ориентированным на меню. Язык взаимодействия, ориентированный на набор текста или текстовой команды, очень стар, используется в самых старых редакторах, в виде команд, использования функций и клавиш управления и т. д. Интерфейс, ориентированный на меню, имеет меню с набором множественного выбора текстовых строк. Область отображения ограничена, и пользователь может включать и выключать меню.
Структура редактора
Процессор командного языка принимает команды, выполняет такие функции, как редактирование и просмотр. Это включает в себя путешествие, редактирование, просмотр и отображение. Операции редактирования задаются пользователем, а операции отображения задаются редактором. Компоненты перемещения и просмотра вызываются редактором или самим пользователем во время операций.
Компонент редактирования — это модуль, отвечающий за задачи редактирования. Текущая область редактирования определяется текущим указателем редактирования, связанным с компонентом редактирования. При выполнении команды редактирования компонент редактирования вызывает фильтр редактирования, генерирует новый буфер редактирования. Буфер редактирования содержит документ, который нужно отредактировать в текущем местоположении указателя редактора.
При просмотре документа начало просматриваемой области определяется текущим указателем просмотра. Компонент просмотра — это набор модулей, используемых для просмотра следующего представления. Текущий просмотр можно настроить или сбросить в зависимости от последней операции.
Когда отображение необходимо обновить, компонент просмотра вызывает фильтр просмотра, создает новый буфер и содержит документ для просмотра с использованием текущего буфера просмотра. Затем буфер просмотра передается компоненту дисплея, который создает отображение путем отображения буфера.Буферы редактирования и просмотра могут быть идентичными или полностью не пересекаться. Буферы редактирования и просмотра также могут частично перекрываться или содержаться один внутри другого. Компонент редактора взаимодействует с документом от пользователя на двух уровнях: оперативной памяти и файловой системы диска.
Иногда вы, возможно, чувствовали, что управление различными типами файлов в C становится немного сложным, будь то текстовый файл или двоичный файл. Но эта задача оказывается довольно простой, когда мы говорим об обработке файлов в C.
Обработка файлов в C относится к задаче хранения данных в форме ввода или вывода, созданных при выполнении программ C в файлах данных, а именно в текстовом файле или двоичном файле для дальнейшего использования и анализа.
В этом руководстве по обработке файлов в C мы обсудим:
Прежде чем мы начнем, давайте признаем важность обработки файлов.
После того, как мы скомпилируем и запустим программу, будет получен вывод, но этот вывод не сохраняется в виде информации где-либо в системе.
Что делать, если мы хотим сохранить полученный результат для будущих ссылок? В конце концов, большинство компаний, занимающихся разработкой программного обеспечения, пишут программы для хранения полученных результатов в виде информации. Эта проблема может быть легко решена путем реализации обработки файлов в C. Поскольку большинство компьютерных систем работают с файлами, поскольку это помогает в хранении информации, C предлагает это преимущество обработки файлов.
1. Что такое обработка файлов в C?
Файл — это не что иное, как источник постоянного хранения информации в виде последовательности байтов на диске. Содержимое файла не изменчиво, как память компилятора C. Различные доступные операции, такие как создание файла, открытие файла, чтение файла или управление данными внутри файла, называются обработкой файла.
Прежде чем двигаться дальше, вы должны знать, что такое стандартные библиотечные функции в C?
Будьте в курсе последних технологических тенденций
Присоединяйтесь к DataFlair в Telegram!!
2. Необходимость обработки файлов в C
Бывают случаи, когда результат, полученный при компиляции и запуске программы, не служит цели. Если мы хотим проверить вывод программы несколько раз, компилировать и запускать одну и ту же программу несколько раз становится утомительной задачей. Здесь в игру вступает обработка файлов. Вот некоторые из следующих причин популярности обработки файлов:
- Повторное использование. Это помогает сохранить данные или информацию, сгенерированные после запуска программы.
- Большой объем хранилища. Используя файлы, вам не нужно беспокоиться о проблеме хранения данных в большом количестве.
- Экономия времени. Некоторые программы требуют от пользователя большого количества действий. Вы можете легко получить доступ к любой части кода с помощью определенных команд.
- Переносимость. Вы можете легко перенести содержимое файла с одной компьютерной системы на другую, не беспокоясь о потере данных.
3. Различные типы файлов в C
Когда речь идет о файлах в отношении обработки файлов, мы обычно называем их файлами данных. В языке программирования C доступно два основных типа файлов данных:
3.1 Текстовые файлы
Это простейшие файлы, которые пользователь может создать при работе с файлами на языке C. Он создается с расширением .txt в любом простом текстовом редакторе. Обычно мы используем блокноты для создания текстовых файлов. Текстовый файл хранит информацию в виде символов ASCII внутри, но когда вы открываете текстовый файл, вы обнаружите, что содержимое текста доступно для чтения людям.
Следовательно, можно с уверенностью сказать, что текстовые файлы просты в использовании и доступе. Но вместе с достоинствами приходят и недостатки. Поскольку он легко читается, он не обеспечивает никакой защиты информации. Кроме того, он занимает много места для хранения. Следовательно, существует другой тип доступных файлов, называемых двоичными файлами, которые помогают нам решить эту проблему.
3.2 Двоичные файлы
Двоичный файл хранит информацию в форме двоичной системы счисления (0 и 1), поэтому занимает меньше места для хранения. Проще говоря, он хранит информацию так же, как информация хранится в памяти компьютера. Следовательно, к нему гораздо проще получить доступ.
Он создается с расширением .bin. Он преодолевает недостаток текстовых файлов. Поскольку она не читается людьми, информация более безопасна. Следовательно, можно с уверенностью сказать, что двоичные файлы являются лучшим способом хранения информации в файле данных.
4. C Операции обработки файлов
- Создание нового файла: fopen()
- Открытие существующего файла в вашей системе: fopen()
- Закрытие файла: fclose()
- Чтение символов из строки: getc()
- Запись символов в файл: putc()
- Чтение набора данных из файла: fscanf()
- Запись набора данных в файл: fprintf()
- Чтение целочисленного значения из файла: getw()
- Запись целочисленного значения в файл: putw()
- Установка нужной позиции в файле: fseek()
- Получение текущей позиции в файле: ftell()
- Установка положения в начальной точке: перемотка назад()
Ключевой вывод: важно отметить, что при работе с файлами необходимо объявлять указатель типа файла. Он устанавливает связь между файлом и программой.
Вот как это делается:
ФАЙЛ *fpointer;
Из этих различных операций есть несколько основных операций, используемых в языке программирования C, которые мы подробно обсудим одну за другой:
5. Открытие текстового файла в C
Мы используем функцию fopen() для создания или открытия файла, как упоминалось ранее. Совершенно очевидно, что создание или открытие файла — это первый шаг в работе с файлом. После создания файла его можно открыть, изменить или удалить.
Основной синтаксис открытия файла:
*fpointer — это указатель на файл, который устанавливает соединение между файлом и программой.
*file_name — это имя файла.
*mode — это режим, в котором мы хотим открыть наш файл.
РЕЖИМ | ПОЯСНЕНИЕ |
r | Мы используем его для открытия текстового файла в режиме чтения |
w | Мы используем его для открытия или создания текстового файла в режиме записи |
a | Мы используем его, чтобы открыть текстовый файл в режиме добавления |
r+ | < td>Мы используем его, чтобы открыть текстовый файл как в режиме чтения, так и в режиме записи|
w+ | Мы используем его, чтобы открыть текстовый файл как в режиме чтения, так и в режиме записи. режим записи |
a+ | Мы используем его, чтобы открыть текстовый файл как в режиме чтения, так и в режиме записи |
Мы используем его для открытия бинарного файла в режиме чтения | |
wb | Мы используем его для открытия или создания двоичный файл в режиме записи |
ab | Мы используем его для открытия двоичного файла в режиме добавления |
rb+ | Мы используем его для открытия двоичного файла в режиме чтения и записи |
wb+ | Мы используем его открыть бинарный файл в обоих ре режим чтения и записи |
ab+ | Мы используем его для открытия двоичного файла как в режиме чтения, так и в режиме записи |