إنتقل إلى المحتوى الرئيسي

إتقان التحرير متعدد المؤشرات في Cursor

التحرير متعدد المؤشرات هو واحد من أقوى الميزات في محرري الأكواد الحديثين، ويأخذ Cursor الأمر أبعد من خلال الجمع بين تقنيات المؤشرات المتعددة التقليدية والمساعدة الذكية. يغطي هذا الدليل كل شيء من الاختيار الأساسي إلى التحرير المتقدم المستند إلى regex الذي سيغير طريقة معالجتك للأكواد.

التحرير متعدد المؤشرات في Cursor

لماذا يهم التحرير متعدد المؤشرات​

عندما تحتاج إلى إجراء نفس التغيير في أماكن متعددة، يوفر التحرير متعدد المؤشرات وقتاً هائلاً مقارنة بالبحث والاستبدال أو التحرير اليدوي. السيناريوهات الشائعة تشمل:

  • إعادة تسمية المتغيرات عبر أسطر متعددة
  • إضافة بادئات أو لاحقات لعناصر متعددة
  • تحويل تنسيقات البيانات (JSON إلى واجهات TypeScript، إلخ)
  • إزالة أو إضافة أقواس أو علامات اقتباس أو فواصل
  • محاذاة الأكواد أو التعليقات
تلميح

يتألق التحرير متعدد المؤشرات عندما تكون التغييرات متشابهة هيكلياً لكنها غير متطابقة. بالنسبة للاستبدالات المتطابقة تماماً، قد يكون البحث والاستبدال أسرع.

تقنيات التحرير متعدد المؤشرات الأساسية​

Alt+Click (Option+Click على macOS)​

الطريقة الأكثر بديهية لوضع مؤشرات متعددة هي الضغط على Alt (أو Option على macOS) والنقر حيث تريد كل مؤشر.

كيفية استخدامه:

  1. اضغط على Alt / Option
  2. انقر على كل موقع تريد وضع مؤشر فيه
  3. ابدأ الكتابة -- ستقوم جميع المؤشرات بإدراج النص في نفس الوقت
// Before: Place cursors at the start of each line with Alt+Click
const user = { name: 'Alice' };
const admin = { name: 'Bob' };
const guest = { name: 'Charlie' };

// After typing 'export ' at each cursor
export const user = { name: 'Alice' };
export const admin = { name: 'Bob' };
export const guest = { name: 'Charlie' };
معلومات

يمكنك وضع ما يصل إلى 10,000 مؤشر. عملياً، أكثر من 100 يصبح من الصعب إدارته بصرياً.

Cmd+D / Ctrl+D -- إضافة الاختيار إلى تطابق البحث التالي​

هذه هي أسرع طريقة لتحديد تكرارات متعددة لنفس الكلمة أو جزء النص.

سير العمل الأساسي:

  1. حدد كلمة أو جزءاً من النص
  2. اضغط Cmd+D (macOS) أو Ctrl+D (Windows/Linux) لتحديد التكرار التالي
  3. كرر لتحديد مزيد من التكرارات
  4. حرر جميع التحديدات في نفس الوقت
// Select 'status' and press Cmd+D three times
interface Task {
status: 'pending';
status: 'active';
status: 'completed';
}

// Change all to 'state'
interface Task {
state: 'pending';
state: 'active';
state: 'completed';
}

تخطي تكرار:

إذا حددت عن طريق الخطأ تكراراً لا تريد تغييره، اضغط Cmd+K Cmd+D (macOS) أو Ctrl+K Ctrl+D (Windows/Linux) لتخطي التحديد الحالي والانتقال إلى التالي.

تحديد جميع التكرارات دفعة واحدة:

اضغط Cmd+Shift+L (macOS) أو Ctrl+Shift+L (Windows/Linux) لتحديد جميع تكرارات الكلمة الحالية في الملف.

warning

كن حذراً مع "تحديد جميع التكرارات" في الملفات الكبيرة. قد تحدد تطابقات في التعليقات أو السلاسل النصية لم تكن تنوي تغييرها.

الاختيار العمودي (Box Selection)​

الاختيار العمودي يتيح لك تحديد كتلة مستطيلة من النص، ووضع مؤشر في بداية كل سطر محدد.

الاختيار العمودي باستخدام الماوس​

  • Windows/Linux: اضغط Shift+Alt واسحب
  • macOS: اضغط Shift+Option واسحب
# Column select the prefixes and replace them
old_prefix_item1 = 100
old_prefix_item2 = 200
old_prefix_item3 = 300
old_prefix_item4 = 400

# After column selecting 'old_prefix_' and typing 'new_'
new_item1 = 100
new_item2 = 200
new_item3 = 300
new_item4 = 400

الاختيار العمودي باستخدام لوحة المفاتيح​

ضع مؤشرات متعددة باستخدام اختصارات لوحة المفاتيح:

ShortcutAction
Cmd+Option+Down / Ctrl+Alt+Downإضافة مؤشر إلى السطر أدناه
Cmd+Option+Up / Ctrl+Alt+Upإضافة مؤشر إلى السطر أعلاه
Cmd+Option+Shift+Down / Ctrl+Alt+Shift+Downتوسيع الاختيار العمودي لأسفل
Cmd+Option+Shift+Up / Ctrl+Alt+Shift+Upتوسيع الاختيار العمودي لأعلى
تلميح

الاختيار العمودي مثالي للعمل مع البيانات الجدولية، أو التعيينات المحاذاة، أو أي أكواد ذات هيكل عمودي.

تقنيات التحرير متعدد المؤشرات المتقدمة​

المؤشرات المتعددة مع البحث والاستبدال​

تدعم أداة البحث عمليات المؤشرات المتعددة من خلال regex.

  1. افتح البحث بـ Cmd+F / Ctrl+F
  2. فعّل وضع regex (أيقونة .*)
  3. أدخل نمطاً مع مجموعات الالتقاط
  4. استخدم $1، $2، إلخ في الاستبدال
// Convert console.log statements to a custom logger
// Find: console\.log\((.*)\);
// Replace: logger.debug($1);

console.log('User logged in');
console.log('Data fetched');
console.log('Error occurred');

// Result:
logger.debug('User logged in');
logger.debug('Data fetched');
logger.debug('Error occurred');

التحرير متعدد الأسطر باستخدام Regex​

للتحويلات المعقدة، ادمج regex مع المؤشرات المتعددة:

// Transform interface properties to class properties with defaults
interface Config {
timeout: number;
retries: number;
enabled: boolean;
}

// Find: (\w+): (\w+);
// Replace: public $1: $2 = defaultValues.$1;

// Result:
public timeout: number = defaultValues.timeout;
public retries: number = defaultValues.retries;
public enabled: boolean = defaultValues.enabled;

إنشاء مؤشرات في نهايات الأسطر​

حدد أسطراً متعددة واضغط Shift+Option+I (macOS) أو Shift+Alt+I (Windows/Linux) لوضع مؤشر في نهاية كل سطر محدد.

{
"name": "project"
"version": "1.0.0"
"description": "A sample project"
}

// After selecting lines and pressing Shift+Option+I, add commas
{
"name": "project",
"version": "1.0.0",
"description": "A sample project",
}

مرجع اختصارات المؤشرات المتعددة​

ActionmacOSWindows/Linux
إضافة مؤشر عند موضع النقرOption+ClickAlt+Click
تحديد التكرار التاليCmd+DCtrl+D
تحديد جميع التكراراتCmd+Shift+LCtrl+Shift+L
تخطي الحالي وتحديد التاليCmd+K Cmd+DCtrl+K Ctrl+D
إضافة مؤشر أدناهCmd+Option+DownCtrl+Alt+Down
إضافة مؤشر أعلاهCmd+Option+UpCtrl+Alt+Up
الاختيار العمودي (الماوس)Shift+Option+DragShift+Alt+Drag
مؤشرات في نهايات الأسطرShift+Option+IShift+Alt+I
تراجع عن آخر إضافة مؤشرCmd+UCtrl+U
التركيز على المؤشر التاليCmd+F6Ctrl+F6

سير العمل العملي​

سير العمل 1: إعادة تسمية الخصائص بالجملة​

لديك كائن وتحتاج إلى إعادة تسمية خصائص متعددة:

// Step 1: Place cursors at each property name with Cmd+D
const user = {
firstName: 'John',
firstName: 'Admin', // Oops, duplicate
firstName: 'Guest',
};

// Step 2: After renaming
const user = {
firstName: 'John',
lastName: 'Doe',
role: 'Admin',
};

سير العمل 2: إنشاء TypeScript من JSON​

حول مقتطف JSON إلى خصائص واجهة TypeScript:

{
"id": 1,
"title": "Hello",
"completed": false
}
  1. الصق JSON في ملف TypeScript
  2. استخدم المؤشرات المتعددة لتحويل كل سطر:
    • اختر الأعمدة للمفاتيح
    • أضف بادئة readonly
    • حرك المؤشرات إلى بعد القيم
    • استبدل بأنواع TypeScript
readonly id: number;
readonly title: string;
readonly completed: boolean;

سير العمل 3: إضافة معالجة الأخطاء​

التفاف مكالمات API متعددة مع try-catch:

// Before
const user = await fetchUser(id);
const posts = await fetchPosts(user.id);
const comments = await fetchComments(posts[0].id);

// After multi-cursor editing
const user = await fetchUser(id).catch(handleError);
const posts = await fetchPosts(user.id).catch(handleError);
const comments = await fetchComments(posts[0].id).catch(handleError);

الجمع بين المؤشرات المتعددة والذكاء الاصطناعي​

تعمل ميزات الذكاء الاصطناعي في Cursor إلى جانب التحرير متعدد المؤشرات:

  1. حدد وظائف متعددة باستخدام المؤشرات المتعددة
  2. اضغط Cmd+K لفتح التحرير المضمن
  3. اكتب موجهاً مثل "إضافة تعليقات JSDoc"
  4. يطبق Cursor التحويل على جميع الكتل المحددة
// Before
function add(a: number, b: number) { return a + b; }
function subtract(a: number, b: number) { return a - b; }
function multiply(a: number, b: number) { return a * b; }

// After AI multi-cursor edit
/**
* Adds two numbers
* @param a - First number
* @param b - Second number
* @returns Sum of a and b
*/
function add(a: number, b: number) { return a + b; }

/**
* Subtracts two numbers
* @param a - First number
* @param b - Second number
* @returns Difference of a and b
*/
function subtract(a: number, b: number) { return a - b; }

/**
* Multiplies two numbers
* @param a - First number
* @param b - Second number
* @returns Product of a and b
*/
function multiply(a: number, b: number) { return a * b; }

الأخطاء الشائعة​

PitfallSolution
مؤشرات في أماكن خاطئةاضغط Escape وابدأ من جديد؛ استخدم تراجع المؤشر (Cmd+U)
تعديلات عرضية في التعليقات/السلاسلكن انتقائياً مع "تحديد جميع التكرارات"
عدد كبير جداً من المؤشرات للتتبعاعمل في قطع أصغر، 5-10 مؤشرات في المرة
المسافة البادئة غير المتناسقة تكسر الاختيار العموديتأكد من اتساق علامات الجدولة/المسافات قبل الاختيار العمودي
استبدال regex يؤثر على مناطق غير مرغوبةمعاينة التغييرات قبل التطبيق

ملخص​

يوفر لك التحرير متعدد المؤشرات في Cursor دقة جراحية للتغييرات الجماعية:

  • Alt+Click لوضع المؤشر بدقة
  • Cmd+D / Ctrl+D لتحديد الأنماط المتكررة
  • الاختيار العمودي لمعالجة النص العمودي
  • البحث والاستبدال بـ regex للتحويلات المعقدة
  • الجمع مع الذكاء الاصطناعي (Cmd+K) للتحرير الجماعي الذكي

قضِ وقتاً في إتقان هذه الاختصارات. الاستثمار يؤتي ثماره في كل مرة تحتاج فيها إلى تغيير أكثر من بضعة أسطر في آن واحد.


Last updated: July 2025. Cursor shortcuts may vary by version and configuration.