অউটকেক্স মোডে কীভাবে অটো-সম্পূর্ণ কাজ করবেন?


11

আমি মোডের auto-completeভিতরে থাকাকালীন (এসি) কাজ করতে চাই AucTeX। প্যাকেজ ইনস্টলেশন দ্বারা আমি মেলপা থেকে সমস্ত প্যাকেজ পাই।

এটি init.elফাইলটিতে আমার প্রাসঙ্গিক কোড :

(require 'package)
(package-initialize)
(require 'auto-complete-config)
(ac-config-default)   
(global-auto-complete-mode t)

যেমন আপনি দেখতে পাচ্ছেন, যদিও আমি acবিশ্বব্যাপী সেট করে দিচ্ছি তবে এটি উপস্থিত হয় না AucTeX। যাইহোক, এই নির্দেশাবলী অনুসরণ করে emacswiki , acমোডে স্ট্যাটাস বার প্রদর্শিত হতে থাকে AucTeXকিন্তু অ কার্যকরী, কোন স্বয়ং-সম্পূর্ণতে টাইপিং অক্ষর দ্বারা।


উইন্ডোজ 7 32 বিট এবং প্যাকেজগুলির আওতায় ইমাস 24.4 নোটগুলি আপডেট করা হয়েছে।


আপনার সমস্যাটি হ'ল লেটেক্স মোডে থাকাকালীন এসি কাজ এক সাথে ইয়াসনিপেট বা একা একা করা? পরবর্তী ক্ষেত্রে, আমি খুব বেশি কাজ ছাড়াই অ্যাকটেক্সের সাথে এসি ব্যবহার করি।
জিওর্ডানো

1 ম, আমি acভাল করতে চান auctex। আমি উল্লেখ করেছি yasnippetকারণ আমি ল্যাটেক্সে কিছু ব্যবহারকারীর সংজ্ঞায়িত স্নিপেট ব্যবহার করতে এটি ব্যবহার করি। সুতরাং আপনি আপনার কোড সরবরাহ না করা পর্যন্ত আমি বলতে পারি না যে yasপথে পাবে কিনা ac
ডক্টরেট

টোন, প্লিজ! yasnippet@Geordano এর পরামর্শ অনুসারে স্বতঃসিদ্ধ এবং AUCTeX একসাথে কাজ করে কিনা তা দেখার চেষ্টা করে দেখুন। যদি হ্যাঁ, তবে সমস্যাটি অন্তর্ভুক্তি নিয়ে yasnippet। যদি তা হয় তবে এটি সম্ভবত আপনার স্বয়ংসম্পূর্ণ সেটআপ।
ড্যান

yasnippetআমি এটি আমার init.el. থেকে অপসারণ করা সম্পর্কে আমরা ভুলতে পারি। সমস্যা খুব সম্ভবত এর সেটআপ হয় auctexএবং ac
ডক্টরেট করুন

1
ক্রিস্টোফার মনসান্টো github.com/monsanto/auto-complete-auctex এর একটি প্যাকেজ দেখুন । আমি এটি পরীক্ষা করিনি।
নাম

উত্তর:


11

ওয়েবে দীর্ঘ গবেষণার পরে acএবং কোডটি লাইন দ্বারা পরীক্ষার জন্য আমার মেশিনে প্রচুর পরীক্ষার সাথে ডকুমেন্টেশনের সাবধানতার সাথে পরীক্ষা করার পরে, আমি এই সমাধানটি নিয়ে এসেছি যা yasnippetকোনও সঙ্কট ছাড়াই কাজ করতে পারে (অনুকূল)।

এটি আপনার init.elবা .emacsক্রম যত্ন নিতে রাখুন:

(require 'package)
(package-initialize)

;; yasnippet code 'optional', before auto-complete
(require 'yasnippet)
(yas-global-mode 1)

;; auto-complete setup, sequence is important
(require 'auto-complete)
(add-to-list 'ac-modes 'latex-mode) ; beware of using 'LaTeX-mode instead
(require 'ac-math) ; package should be installed first 
(defun my-ac-latex-mode () ; add ac-sources for latex
   (setq ac-sources
         (append '(ac-source-math-unicode
           ac-source-math-latex
           ac-source-latex-commands)
                 ac-sources)))
(add-hook 'LaTeX-mode-hook 'my-ac-latex-mode)
(setq ac-math-unicode-in-math-p t)
(ac-flyspell-workaround) ; fixes a known bug of delay due to flyspell (if it is there)
(add-to-list 'ac-modes 'org-mode) ; auto-complete for org-mode (optional)
(require 'auto-complete-config) ; should be after add-to-list 'ac-modes and hooks
(ac-config-default)
(setq ac-auto-start nil)            ; if t starts ac at startup automatically
(setq ac-auto-show-menu t)
(global-auto-complete-mode t) 

দ্রষ্টব্য:
যেমন উল্লেখ ডকুমেন্টেশন এর ac, যোগ ac-modesএবং আঙ্গুলসমূহ লোড হচ্ছে আগে সম্পন্ন করতে হবে (ac-config-default)

কিছু TABআমাকে কী প্রয়োজন হয়নি এমন কী দিয়ে খেলতে কিছু কোড রাখার পরামর্শ দিয়েছিল এবং এটি প্রস্তাব দেয় না কারণ এটি পরে কোনওরকম অন্য কিছুকে ধ্বংস করবে। তবে, আমি দেখেছি লোকেরা ঠিক এর আগে এই জাতীয় কিছু রেখেছিল global-auto-complete:

(ac-set-trigger-key "TAB")
(ac-set-trigger-key "<tab>")  

আমি যুক্ত না করা পর্যন্ত (ac-flyspell-workaround)অটেক্সিফিকেশন অচেক্সে এটি ব্যবহার করার কথা ভাবতে খুব ধীর ছিল কারণ আমি ফ্লাইস্পেল ব্যবহার করি। এই বাগটি ডকুমেন্টেশনেও উল্লেখ করা হয়েছিল। ধন্যবাদ!

বোনাস
আমি ডকুমেন্টেশন থেকে জানতে পেরে খুশি হয়েছিলাম, যদিও এটি খুব পরিষ্কার নয় যে কীভাবে এটি একটি ব্যবহারকারী-সংজ্ঞায়িত অভিধান (আইস) যুক্ত করতে পারে! আমি এটি চেষ্টা করেছিলাম এবং ভাল কাজ করেছি।

require-auto-completeউপরের লাইনের ঠিক পরে এই দুটি লাইন যুক্ত করুন :

(add-to-list 'ac-dictionary-directories "~/.emacs.d/.dict") ; make sure this folder exists
(add-to-list 'ac-user-dictionary-files "~/.emacs.d/.dict/custom-dict.txt") ; put any name to your `.txt` file  

এখন আপনার .txtফাইলে আপনার পছন্দের প্রার্থীদের সমাপ্তির জন্য যুক্ত করুন। প্রার্থীদের থেকে নিজেকে 4-চিঠির চেয়ে কম লম্বা প্রার্থী থেকে বাঁচান, তারা এগুলি মূল্য দেয় না! কেবল আপনার লাইনের শব্দগুলি একটি লাইন ফিড দ্বারা আলাদা করে বা RET

.txtফাইলের বিষয়বস্তুর উদাহরণ :

inconsistencies
foobaremaild@foobar.com
do-not-put-your-password-here
long-line-in-any-programming-language-of-your-like

ইমাক্স সহ ল্যাটেক্স / অ্যাক্টেক্সে স্বতঃ-সমাপ্তি উপভোগ করুন!


দারুণভাবে উড়ে যাওয়া elispসেই .txtডিকটিয়েনারিটিতে লেখার সময় কোনও বাফারে কোনও চিহ্নিত শব্দ ফেলে দেওয়ার এবং কোনও প্রকার প্রচেষ্টা ছাড়াই এটি সংযোজন করার কোনও ফাংশন যদি হয় !
ডক্টরেট করুন

6

আমি আমার উপরের মন্তব্যে যেমন বলেছি, প্যাকেজটিও auto-complete-auctexসমস্যার সমাধান করতে পারে। আমি উভয়ই পরীক্ষা করেছিলাম, এবং তারা দুজনেই খুব সুন্দরভাবে কাজ করে। @ ডক্টরেট এর সমাধান এবং উপরের প্যাকেজটির স্ক্রিন-শট দিয়ে তুলনা করে ভাল লাগবে । আমি যদি লিখি $\sig$, ডক্টরেট কোডটি এরকম কিছু দেয়

এখানে চিত্র বর্ণনা লিখুন

এবং প্যাকেজটির auto-complete-auctexএইরকম কিছু দেয়

এখানে চিত্র বর্ণনা লিখুন

যোগ করা হয়েছে: আমার উল্লেখ করা উচিত যে @giordano এর সমাধানটিও কাজ করে, এখানে একটি স্ক্রিন-শট:

এখানে চিত্র বর্ণনা লিখুন


আমার মনে auto-completeহয় প্রধান প্যাকেজটি হওয়া উচিত যখন auto-complete-auctexকিছু অতিরিক্ত বৈশিষ্ট্য থাকতে পারে। আমি এটি চেষ্টা করব এবং প্রয়োজনে রিপোর্ট করব। ধন্যবাদ
ডক্টরেট

2
আমি প্যাকেজটি ইনস্টল করেছি তবে আমি সম্পূর্ণরূপে পপআপ খুলতে অক্ষম ... আপনি এটি কীভাবে করেছিলেন এবং এটিতে কোনও ডকুমেন্টেশন আছে?
রাভেন

@ রেভেন আমি নিশ্চিত না যে আমার এটি "সত্যই" কাজ করছে। তবে আপনি যদি ড্যাবরেটরিটি এড়াতে বলে ট্যাব কী পদক্ষেপগুলিতে যুক্ত করেন তবে ট্যাব টিপলে এটি কার্যকর হয় (আমার পক্ষে)।
চিল 2 ম্যাচ

4

নিম্নলিখিতটি আমার auto-completeসম্পর্কিত কনফিগারেশন:

(require 'package)
(package-initialize)
(require 'auto-complete-config)
(ac-config-default)

;; Activate auto-complete for latex modes (AUCTeX or Emacs' builtin one).
(add-to-list 'ac-modes 'latex-mode)

;; Activate ac-math.
(eval-after-load "latex"
  '(when (featurep 'auto-complete)
     ;; See https://github.com/vspinu/ac-math
     (require 'ac-math)
     (defun ac-latex-mode-setup ()       ; add ac-sources to default ac-sources
       (setq ac-sources
         (append '(ac-source-math-unicode ac-source-math-latex ac-source-latex-commands)
             ac-sources)))
     (add-hook 'LaTeX-mode-hook 'ac-latex-mode-setup)))

আপনি দেখতে পাচ্ছেন, অ্যাকটেক্সের জন্য এখানে বিশেষ কিছু নেই, এটির আদর্শ কনফিগারেশন auto-complete। এর কনফিগারেশনটি ac-mathএর ওয়েবসাইটে বর্ণিত হয়েছে। আপনি যদি ব্যবহার না ac-mathকরেন তবে আপনার কনফিগারেশনের সাথে একমাত্র বুদ্ধিমান পার্থক্য (add-to-list 'ac-modes 'latex-mode)


-1: ব্যবহার করুন package-initialize। আপনি এটি পছন্দ নাও করতে পারেন তবে দয়া করে load-pathআপনার উত্তরগুলিতে ম্যানুয়াল পরিচালনার মতো খারাপ অনুশীলনগুলির পরামর্শ দেবেন না ।
লুনারিওর

2
@ লুনারিওর্ন আমি মনে করি না আমি খারাপ অভ্যাসের সুপারিশ করেছি, আমি স্পষ্টভাবে লিখেছি এটি কেবলমাত্র একটি সহায়ক প্যাকেজ লোড করার জন্য এটি একটি নোংরা হ্যাক। আমি package-initializeযেকোনোভাবে পরে উত্তরটি উন্নত করার চেষ্টা করব ।
জিওর্ডানো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.