Skocz do zawartości

Wybor Edytora Tekstu


Tobiasz Dziubiński

Rekomendowane odpowiedzi

Witam, mam dylemat nie wiem jaki edytor tekstu jest dobry... Chodzi mi glownie o to zeby pracowal w trybie graficznym i nie graficznym. Zeby zmienial kolory czcionek podczas pisania jakiegos programu.. Wiele osob zachwala Emacs ale ja nie umiem z niego korzystac i nie znalazlem poradnika pl a po angielsku nie zabardzo rozmiem....

Odnośnik do komentarza
Udostępnij na innych stronach

Nic ciekawego nie znalazlem na forum na ten temat -,-

 

Mam prosbe jakby ktos mi pomogl skonfigurowac emacs tak zeby byly przynajmniej te kolorowe slowa jak sie napisze jakis kod... I kombinajce klawiszy typu zaznaczenie slowa bez pomocy myszeki... Lub podac link z programem po polsku.

 

Z gory dzieki.

Odnośnik do komentarza
Udostępnij na innych stronach

a wlasnie przed chwila ciekawy znalazlem zwie sie: geany. Poki co zauwazylem jest: kolorowanie, zwijanie tesktu (folding), podpowiadanie kodu (spr narazie dla php, ale dla innych tez pewnie jest).

Odnośnik do komentarza
Udostępnij na innych stronach

Mam prosbe jakby ktos mi pomogl skonfigurowac emacs tak zeby byly przynajmniej te kolorowe slowa jak sie napisze jakis kod... I kombinajce klawiszy typu zaznaczenie slowa bez pomocy myszeki... Lub podac link z programem po polsku.

W Emacsie masz załączony tutorial po polsku. Z menu Help/Emacs Tutorial (choose language) albo z klawiatury C-h t (wciskasz i przytrzymujesz klawisz ctrl i naciskach h, potem puszczasz oba i klikasz t).

 

Co do polskiej dokumentacji, jest tego dużo na necie. Przykładowo:

http://marcin.af.gliwice.pl/emacs-w-odcinkach

http://debianusers.pl/article.php?aid=20

http://debianusers.pl/article.php?aid=39

http://debianusers.pl/article.php?aid=33

 

Konfiguruje się go przy pomocy pliku ~/.emacs, dopisujesz do niego kod w elispie. Przejrzyj sobie przykładowo mój, jest tam i kolorowanie składni, i komentarze (do gnusa odpuść bo nie przetestowany jeszcze)

;;info
(setq user-mail-address "[email protected]")
(setq user-full-name "lszk")

;;zdefiniowane klawisze
(global-set-key [f9] 'compile)
(global-set-key [f2] 'next-error)
(global-set-key [f3] 'previous-error)
(global-set-key [f1] 'manual-entry)
(setq Man-notify-method 'newframe)
(global-set-key [f4] 'zabij)

(global-set-key [f10] 'gdb)
(global-set-key [f12] 'shell)

(global-set-key [home] 'beginning-of-buffer)
(global-set-key [end] 'end-of-buffer)

(global-set-key "\C-x\C-k" 'kill-this-buffer)

;;pytanie o potwierdzenie przy wylaczeniu
(global-set-key "\C-x\C-c" #'(lambda () 
                              (interactive)
                              (when (yes-or-no-p "Are you sure? ")
                                (kill-emacs))))

;;podswietlanie skladni
(global-font-lock-mode 1)
(setq font-lock-maximum-decoration t)

;;sciezka przeszukiwania
(setq load-path (cons "/home/lszk/.emacslisp" load-path))

;;wyswietla numer linii i wiersza
(setq line-number-mode t)
(setq column-number-mode t)

;;plynne scrollowanie, brak centrowania
(setq scroll-step 1)
(setq scroll-conservatively 1)

;;wylaczony startowy splashscreen
(setq inhibit-startup-message t)

;;wylaczone tworzenie kopii
(setq make-backup-files nil)

;;kodowanie
(set-language-environment "Polish")
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)

;;kolory
(set-background-color "LightSlateGrey")
(set-cursor-color "gold")
(set-face-foreground 'region "black")
(set-face-background 'region "khaki")

;;wylaczony suwak
(scroll-bar-mode -1) 

;;podswietlenie zaznaczonego obszaru
(transient-mark-mode 1)

;;dopelnianie
;;(partial-completion-mode 1)

;;skrocona wersja odpowiedzi
(fset 'yes-or-no-p 'y-or-n-p)

;;brak toolbara i menu
;;(tool-bar-mode -1)
(menu-bar-mode (if window-system 1 -1))

;;nazwa pliku na belce
(setq frame-title-format "GNU Emacs - %f")
(setq icon-title-format "Emacs - %b")

(transient-mark-mode t)

;;pozbycie sie logow
(setq message-log-max nil)
(kill-buffer "*Messages*")
(setq debug-on-error t)
(setq minibuffer-max-depth nil)

;;domyslny tryb
(setq default-major-mode 'text-mode)
(add-hook 'text-mode-hook 'text-mode-hook-identify)
(add-hook 'text-mode-hook 'turn-on-auto-fill)
(add-hook 'text-mode-hook '(lambda () (setq fill-column 80)))

;;laczenie rozszerzen z trybami
(setq auto-mode-alist (cons '("\\.txt$" . text-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.awk$" . awk-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.pl$" . perl-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.cc$" . c++-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.c$" . c-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.h$" . c-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.hpp$" . c++-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.cpp$" . c++-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.sh$" . shell-script-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\.emacs" . lisp-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.py$" . python-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.htm$" . html-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.html$" . html-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.php$" . php-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.el$" . lisp-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.xml$" . sgml-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.jpg$" . image-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.jpeg$" . image-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.png$" . image-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.java$" . java-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.css$" . css-mode) auto-mode-alist))

;;sesje - dostepne na http://emacs-session.sourceforge.net/
(require 'session)
(add-hook 'after-init-hook 'session-initialize)
(autoload 'session "~/.emacslisp/session.el" "This saves 
certain variables like input histories." t)

;;godzina i data
(setq display-time-24hr-format t) 
(setq display-time-day-and-date t)
(display-time)

;;rozmiary okna
(setq default-frame-alist
'(
   (width . 82)
   (height . 33)
 ) 
)

;;polski slownik
(setq-default ispell-program-name "aspell")
(setq ispell-extra-args '("--sug-mode=ultra"))
(setq ispell-dictionary "polish")

;;sprawdzanie "w locie" plikow tekstowych
(add-hook 'text-mode-hook 'flyspell-mode)

;;wymusza nie dodawanie nowej linii na koncu
(setq require-final-newline nil)

;;ladowanie autoinsert + ustawienia
(require 'autoinsert)
(auto-insert-mode)
(setq auto-insert-query nil)

;;ubicie kompilacji
(defun zabij()
 (interactive)
 (kill-buffer "*compilation*")
;;(delete-other-windows)
;;(delete-window)
)

;;szkielet dla plikow html
(defun szkielet-xhtml()
 (interactive)
 (beginning-of-buffer)
 (insert-string 
"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\"
\"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">
<html>
<head>
<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />
<meta http-equiv=\"content-language\" content=\"pl\" />
<meta name=\"description\" content=\"\" />
<link rel=\"stylesheet\" type=\"text/css\" href=\"\" />
<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"\" />
<title></title>
</head>
<body>

")
(save-excursion (insert-string 
"

</body>
</html>")))

;;szkielet dla pliku naglowkowego
(defun szkielet-h()
 (interactive)
 (beginning-of-buffer)
 (data)
 (insert-string "\n\n#ifndef
#define

#include <>

")
 (save-excursion (insert-string "\n\n
#endif\n")))

;;szkielet dla pliku zrodlowego
(defun szkielet-cpp()
 (interactive)
   (beginning-of-buffer)
   (insert 
"#include <iostream>

using namespace std;

int main(int argc, char* argv[]){

}") (previous-line 1))

;;funkcja wyswietla tablice znakow ascii
(defun ascii-table ()
 (interactive)
 (switch-to-buffer "*ASCII*")
 (erase-buffer)
 (insert (format "znakow jest  %d.\n" 254))
 (let ((i 0))
   (while (< i 254)
     (setq i (+ i 1))
     (insert (format "%4d %c\n" i i))))
 (beginning-of-buffer))

;;funkcja wstawiajaca date i godzine (dzien, miesiac, rok, godzina, minuty)
(defun data ()
 (interactive)
 (insert (format-time-string "%e %b %Y %H:%M %p")))

;;wlasne szkielety dla plikow
(setq auto-insert-alist
     '(
       (("\\.\\([h]\\|hpp\\)\\'" . "C++ Header") . szkielet-h)
(("\\.cpp$" . "C++ Source") . szkielet-cpp)
(("\\.html$" . "XHTML File") . szkielet-xhtml)))

;;ustawienia usenetu
(setq gnus-select-method '(nntp "news.gazeta.pl"))
(setq gnus-visible-headers '("^From" "^Subject" "^Date" "^Newsgroups" "^Followup-To"))
(add-hook 'message-mode-hook (lambda () (setq fill-column 76) (turn-on-auto-fill)))
(add-hook 'message-sent-hook 'gnus-score-followup-article)
(setq gnus-message-archive-group "posted")
(setq gnus-thread-sort-functions '(gnus-thread-sort-by-number gnus-thread-sort-by-total-score))
(setq gnus-treat-display-smileys nil)
(setq gnus-use-adaptive-scoring t)
(setq gnus-thread-hide-killed t)
(setq gnus-agent t gnus-agent-enable-expiration t gnus-agent-expire-days 30 gnus-agent-long-article 2000)
(setq mm-coding-system-priorities '(ascii iso-8859-2 utf-8))
(codepage-setup 1250)
(define-coding-system-alias 'windows-1250 'cp1250)
;;(setq gnus-group-charset-alist (cons '("." iso-8859-2 iso-8859-2 utf-8 cp1250) gnus-group-charset-alist))
(setq message-forward-as-mime nil) 
(setq gnus-strict-mime t)
(setq gnus-large-newsgroup 3000)
(setq gnus-signature-separator "^\\(– \\|^– *\\|________\\========*\\)$")
(setq message-cite-function 'message-cite-original-without-signature message-default-charset 'iso-8859-2
message-generate-headers-first nil message-signature-before-forwarded-message nil
message-subject-re-regexp "^[ ]*\\([Rr][Ee]:[ ]*\\)*[ ]*")

;;uzycie kolka myszy
(mouse-wheel-mode t)

;;wklejanie w miejscu kursora tekstowego, nie myszy
(setq mouse-yank-at-point 't)

;;podswietlanie par nawiasow
(require 'paren)		
(show-paren-mode t)

;;"podsumowanie"
(message "All done, %s%s" (user-full-name) ".")

Odnośnik do komentarza
Udostępnij na innych stronach

W Emacsie masz załączony tutorial po polsku. Z menu Help/Emacs Tutorial (choose language) albo z klawiatury C-h t (wciskasz i przytrzymujesz klawisz ctrl i naciskach h, potem puszczasz oba i klikasz t).

 

hehe, dobre... Iszk, właśnie takie "skróty" odstraszają mnie od Emacsa ;)

Wydaje mi się, że są prostsze sposoby na dostanie sie do helpa, albo zapisanie plku niż wklepywanie kombosów rodem z Mortal Kombat, hehe ;)

 

Emacs Save To File Combo:

LK-LK-HP-HP-UC-HOK-Fireball (45% DAMAGE)

 

hehe, w sumie to jest chyba nawet Fatality (wykańczasz plik w końcu :)

 

 

KO

Odnośnik do komentarza
Udostępnij na innych stronach

  • 5 months later...
Niedawno pisałem o tym że jest w repo Geany. Zobacz, chyba może się tobie spodobać, tym bardziej że ma także wbudowane kompilatory.

Dzieki Geany to jest to! :) Super edytor ;p Ma wszystko co chcialem.... Znalazlem jeszcze fajny mialem go caly czas zainstalowanego eclips.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 4 years later...

ja polecam Sublime Text 2 niestety nie jest to darmowy program.

Nieoficjalne repo:

cd /etc/yum.repos.d/
sudo wget -O /etc/yum.repos.d/sublime2.repo http://repo.cloudhike.com/sublime2/fedora/sublime2.repo

 

tutorial:

https://tutsplus.com/course/improve-workflow-in-sublime-text-2/

 

dodatki:

http://wbond.net/sublime_packages/package_control/installation
http://docs.emmet.io/

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...